首页 > 代码库 > 10.包和访问权限

10.包和访问权限

1.java中的软件包
   将类放置到一个包当中,需要使用package"包名",为java类提供命名空间
   编译时需要使用-d参数(根据包名生成文件夹名)
   -d空格后面为目录,当前目录( . )
    一个类的全名应该是“包名”+“.”+"类名"
   
   将生成文件放到当前目录下包名的文件夹下。
    命名规范:
      1.要求所有字母小写;
      2.包名一般是域名倒过来写;
   编译之后,执行的话需要java 包名.类名,这才是类的全名。
  -d好处(directory):不仅让你把编译结果输出到别的地方,还可以把类依照包的组织放到正确的目录上。
2.访问权限
   访问权限和继承关系:
       如果子类和父类不在同一个包当中,子类可继承到父类default成员变量函数,但由于权限不够,无法使用。
    1.public 公共权限
       可以修饰类、成员变量、成员函数。
       类为public权限,这个类的名字必须和源文件相同。
       没有访问限制,同一个包或不同包中的类都可以自由访问。
  
       两个不在同一个包中的文件调用另外一个包文件函数时候,要学全名,不能只写类名org.marsdroid.Person.或者加import就不用写全名了。
      
    2.private 私有权限
       大多修饰变量、函数。只能在当前类使用。
    3.default  包级别访问权限
       在不写权限修饰符就是default,在同一个包中可自由访问。
    4.protected  受保护权限
       拥有default的权限,即允许同一个包中自由访问,还有就是只有子类可以使用不同包中的父类protected权限变量和函数。

      public > protected > default > private
3.软件包导入
   想使用一个类,可以把这个类导入进来
   import 类;
   import 文件夹名.* :文件夹下所有的类都导进来。

   或者要在程序代码中打入全名(type)
   java.util.ArrayList<Dog> list = new java.util.ArrayList<Dog>();
   除了java.lang之外,使用到的其他包的类都需要指定全名。


来自为知笔记(Wiz)


10.包和访问权限