作用
更好的组织类,用于区别类的命名空间
-
把功能相似或者相关的类或接口组织在同一包中,方便查找和使用(分类组织,方便查找和使用)
-
包采用树形目录存储方式,同一包中类名字不同,不同包中类名字可以相同,当同时调用两个包中相同类名的类时,应当加上包名加以区分(避免命名冲突)
-
包可以限定访问权限,拥有包访问权限的类才能访问包中的某个类(限制访问权限)
创建包
package pkg1[.pkg2[.pkg3…]];
包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。
如果其他类引用包中内容,必须将这个package的声明放在这个源文件的开头。
import关键字
import 关键字明确需要导入内容,该语句应放在package语句之后,所有类之前
语法为
import package1[.package2…].(classname|*);
同包中的类想引用包中的内容时可以省略包名
package的目录结构
类放在包中会有两种主要的结果:
- 包名成为类名的一部分,正如我们前面讨论的一样。
- 包名必须与相应的字节码所在的目录结构相吻合。