17.包和访问权限

  • 软件包
    • 为java类提供了命名空间
    • 将类放置到一个包当中,需要使用package"包名"
    • 编译时需要使用 -d 参数,该参数的作用是依照包名生成相应的文件夹

例如:D:\work\src>javac -d . Test.java

    • 一个类的全名应该是“包名” + “.” + “类名”

运行:java Arron.Test

    • 在不同的包中时,调用需写上包名
  • 包名的命名规范
    • 1、要求包名所有的字母都要小写
    • 2、包名一般情况下,是你的域名倒过来写
    • Arron.org

D:\work\src>javac -d . Test.java

D:\work\src>java org.Arron.Test

  1. package org.Arron; 
  2. classTest{
  3. publicstaticvoid main(String args []){
  4. System.out.println("Hello package");
  5. }
  6. }
  • java当中的访问权限
    • 分类
      • 1、public:公共权限
        • 可以修饰类,成员变量和成员函数
        • 如果一个类被声明为public,那么这个类的名字必须与原文件的名字相同
        • 在一个包的外部调用一个对象的某一个成员变量或成员函数,要求被访问这个变量或函数应该是public权限。
  1. package org.Arron;
  2. publicclassPerson{
  3. publicString name;
  4. publicint age;
  5. publicvoid introduce(){
  6. System.out.println("name:" + name);
    System.out.println("age:" + age);
  7. }
  8. }
  1. package com.ArronAndroid;
  2. classTest{
  3. publicstaticvoid main(String args []){
  4. org.Arron.Person p =new org.ArronAndroid.Person();
  5. p.name ="zhagnsan";
  6. p.age =20;
  7. }
  8. }

结果:

D:\work\src>javac -d . *.java

D:\work\src>java com.ArronAndroid.Test

name:zhagnsan

age:20

      • 2、private:私有权限
        • 可以修饰成员变量和成员函数
        • 只能在当前的类中使用,即使实在同一个包当中
      • 3、default:包级别访问权限
        • 不写权限修饰符,就是default权限,可以修饰类,成员变量和成员函数
        • 默认权限:只要在同一个包当中,可以任意使用
        • 如果在不同的包当中就不可以调用
      • 4、protected:受保护权限
  • 软件包的导入
    • 在不同的包当中(public),可以用

      1. import org.Arron.*;

      来导入其他包的类。

  1. package org.Arron;
  2. publicclassPerson{
  3. publicString name;
  4. publicint age;
  5. publicvoid introduce(){
  6. System.out.println("name");
  7. }
  8. }
  1. package com.ArronAndroid;
  2. import org.Arron.*;
  3. classTest{
  4. publicstaticvoid main(String args []){
  5. Person p =newPerson();
  6. p.name ="zhagnsan";
  7. p.age =20;
  8. }
  9. }
  • 访问权限与继承
    • 如果子类和父类不在同一个包当中,这子类可以继承到父类当中的default权限的成员变量和成员函数,但是由于权限不够,无法使用。如果要使用,需要使用public权限
    • 即使子类和父类在同一个包当中,如果成员变量或函数被声明为private权限,子类也是无法使用的
  • protected权限
    • protected权限拥有和default权限一样的功能,但是该权限只能 修饰成员变量和成员函数
    • 如果子类和父类不再同一个包当中,那么子类也可以使用父类当中被声明为protected权限的成员变量和成员函数
    • 如果两个类没有任何关系,不同包当中的类只能访问public当中的类
  • 权限排名:public>proteced>default>private

来自为知笔记(Wiz)

时间: 2024-10-04 03:45:50

17.包和访问权限的相关文章

25 包和访问权限

将类放到一个包中,需要使用package"包名" 编译时需要使用-d参数,该参数的作用是依照包名生成相应的文件夹 一个类的全名应该是"包名"+"."+"类名" 包名命名规范: 包名所有的字母小写 包名一般情况下,是你的域名倒过来写 java 当中的访问权限 public :公共权限  //可以修饰类.成员变量和成员函数 没有任何限制,在不同的包中都可以访问 private:私有权限  // 可以修饰成员变量和成员函数 只能在本

包和访问权限(二)

1.Java当中的访e:问权限 1.public:公共权限 public String name; 既可以修饰类又可以修饰成员变量和成员函数: 如果一个类的权限声明为public,那么类名必须与.java文件名必须相同 如果一个类的权限不是public,就无法从外部类中进行访问在 在一个包的外部来调用对象的某一个成员变量或成员函数那么要求这个成员变量或成员函数必须是public权限 总结:没有任何限制,同一个包当中,或者不同包当中的类都可以自由访问 2.private:私有权限 private

包和访问权限(一)

1. 什么是Java当中的软件包 2. 为什么要使用软件包 3. 如何给一个类打包 1. 什么是Java当中的软件包 假如这个代码分为A组合B组合作开发 A组 建立父类User   子类是Student 和 Teacher B组 建立父类User   子类分为注册和非注册用户 两组代码都有User, 这样会有麻烦 解决:打包 软件包 理解为文件夹, 同名文件放在不同文件夹即可解决问题 3. 如何给一个类打包 1 package Mirror; //package + 包名 2 3 class T

java4android (包和访问权限)

什么是Java当中的软件包? 为什么要使用软件包? 如何给一个类打包? //将类放置到一个包中,需要使用package"包名" //打包 编译的方法 javac -d . Test.java //出现错误:编码GBK的不可映射字符 javac -encoding UTF-8 -d . Test.java //-d 根据包名safiri生成文件夹 .的意思是在当前目录下生成safiri文件夹 //一个类的全名应该是"包名"+"."+"类名

包和访问权限(三)

1. 访问权限与继承 2. protected权限 1. 访问权限与继承 跨包继承需要public 权限 2. protected权限 和default一样的功能, 但该权限只能修饰成员变量和成员函数 protected允许跨包继承, 其与public区别是: public是跨包任何类都可访问 , protected只有其子类才能访问父类的protected!!!! 权限大小:public > protected > default > private 一个类或一个成员函数或变量, 其权

13 包和访问权限

包: 1.将类放置在一个包当中,需要使用 package "包名" 2.编译时需要使用-d参数,该参数的作用是依照包名生产相应的文件夹 3.一个类的全名应该是  “包名”+“.”+"类名" 包名的命名规范: 1.要求包名所有字母都要小写 2.包名一般情况下是你的域名倒过来写,如marsdroid.org package org.marsdroid.user; class Test { public static void main(String args[]) {

包和访问权限(二)

1. java的访问权限 2. 软件包的导入 1. java的访问权限 <1> public  公共权限 既可修饰类  又可修饰成员变量和成员函数 不在同一个包, 对其访问时必须是公共类 1 package mirror; 2 3 class Person{ 4 public String name; 5 public void introduce(){ 6 System.out.println("name"); 7 } 8 } package Mirror; class

包和访问权限2

1.Java当中的访问权限 public:公共权限 可以修饰类.成员变量.成员函数 没有任何限制,同一个包当中或者不同包当中的类都可以自由访问 修饰类的时候:类的名字必须和文件名相同 修饰成员变量时候: 修饰成员函数时候: 在不同的包当中,一个类要访问另一个类的话,要求被访问类应该是public权限 private:私有权限 可以修饰成员变量和成员函数 只能在本类中使用 能修饰变量和函数 被声明的变量和函数只能在当前类中使用 default:包级别访问权限 可以修饰类.成员变量和成员函数 如果两

10.包和访问权限

1.java中的软件包 将类放置到一个包当中,需要使用package"包名",为java类提供命名空间 编译时需要使用-d参数(根据包名生成文件夹名) -d空格后面为目录,当前目录( . ) 一个类的全名应该是"包名"+"."+"类名" 将生成文件放到当前目录下包名的文件夹下. 命名规范: 1.要求所有字母小写: 2.包名一般是域名倒过来写: 编译之后,执行的话需要java 包名.类名,这才是类的全名. -d好处(direct