2.1 Java包
●随着Java类越写越多,难免会出现类重名的现象。为了组织管理这些Java类,引入Java包(package)。
例如,甲和乙都叫张三,但是怎么区分呢?我们通常会说这个张三的特征,比如高个子张三,那个被狗咬过的张三,出糗的张三,这样就给张三这个人加了一个特定前缀,就是包。这样可以更方便的管理Java程序中的类,也出现了重名类不同方法的实现,使Java语言更具多样性。
●包就是文件夹结构,因为它是一种树形结构的路径,他通过 ‘ . ’
运算符知名包的层次,比如 类Muchu 位于包 java.muchu中,就是指类Muchu在文件夹 \java\muchu 中。
1.引入和使用包的类
1).在应用程序中使用类的全名,包名 + 类名
2).通过 import 关键字导入相应的类/包
①导入类示例
Java.muchu.Muchu zhangsan = new Java.muchu.Muchu();
②导入包示例
import Java.muchu.Muchu
Muchu zhangsan = new Muchu();
两种情况例外:
●位于同一个包中的类可以相互引用,不用使用import语句或者类的全名。
●在源程序中用到Java类库中的 java.long 包中的类,可以直接引用,不用使用import语句或者类的全名。
2.自定义包
通过package关键字定义一个包时,package语句必须是文件中的第一条语句。
2.2 Java类的访问权限
表格2.2.1中 Java类中成员访问权限的范围
●用private修饰的属性和操作只能被该类自身的操作访问和修改。
●用default,类内的属性和操作没有被访问控制符限定,说明他么具有包访问属性,可以被同一个包中的其他类所访问和调用。
●用protected 修饰我的类成员变量可以被3种类所访问和调用: 该类自身 、 与他同在一个包中的类 、 在其它包中该类的子类。
●用public(公共的),可以被任意其他类访问和调用。