Java语言当中的包机制
- 包又称为package,Java中引入package这种语法机制主要是为了方便程序的管理。不同功能的类被分门别类的放在不同的软件包当中,查找和管理比较方便,易于维护。
- 在Java源程序的第一行编写package语句。而且package只能编写一个语句。
- 语法结构: package 包名;
- 包命名规范: 公司域名倒序 + 项目名 + 模块名 + 功能名;
- 包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则。
- 一个包对应一个目录(文件夹)。
- 使用package机制之后,怎样编译?怎样运行呐?【package package_01;public class Test01 {}】
- 使用了package机制之后,完整的类名是:包名 + 类名。【package_01.Test01】。
- 编译:javac Java源文件的路径(在硬盘上执行javac命令所在的目录生成一个.class文件:Test01.class)。
- 运行:java package_01.Test01必须切换到package_01所在的目录(就像运行Java文件必须切换到Java源文件所在的目录因为ClassLoder默认从当前路径下加载),因为package_01所在的目录是该Java源文件的根目录。
- -d这种方式可以直接生成目录
- 编译: javac -d 编译之后存放的根路径 Java源文件的路径
- 包名可以省略的两种情况:
- 如果在一个类中使用另一个类,如果两个类在同一个包下那么包名可以省略。
- 如果在一个类中使用import语句引入了另一个包(或类),包名可以省略。
import语句
- import语句用来完成导入其他类,同一个包下的类不需要导入,不在同一个包下的类需要手动导入。
- import语句语法格式:
- import 完整的类名;
- import 包名.*;表示导入该包下的所有类
- import语句需要编写到package语句之下,class语句之上。
- java.lang.*; 不需要手动引入,系统自动引入。【language语言包,是Java语言的核心类,不需要手动引入】
- 导入包只能从根目录开始导入。【如果导入的包中“含有包”那么含有的这些包中的类仍然不能用,也不能从现在导入的包中接着导入,只能重新从根目录开始导入】。
- 完整的类名是:包名+类名