包(package)是Java语言管理类的一个机制,不同Java源文件中可能出现名字相同的类,如果想区分这些类,就需要使用包名。


包语句

通过关键字package声明包语句,包语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包即为该源文件中声明的类指定包名,package语句的一般格式为:

package 包名;


如果源程序中省略了package语句,源文件中所定义命名的类被认为是无包名的一部分,只要这些类的字节码被存放在相同的目录中,那么它们就属于同一个包,但没有包名。


包名可以是一个合法的标识符,也可以是若干个标识符加“.”构成,例如:

package sunrise;
package sun.com.cn;


存储目录

如果一个类有包名,那么就不能在任意位置存放它,否则虚拟机将无法加载这样的类。


程序如果使用了包语句,例如:

package tom.jiafei;


那么存储文件的目录结构中必须包含如下结构:…\tom\jiafei,比如:C:\1000\tom\jiafei,并且要将源文件编译得到的类的字节码文件保存在目录C:\1000\tom\jiafei中,源文件可以任意存放。


如果主类的包名是tom.jiafei,那么主类的字节码一定存放在…\tom\jiafei目录中,那么必须到tom\jiafei的上一层目录中去运行主类,假设C:\1000\tom\jiafei,运行格式如下:

C:\1000> java tom\jiafei.主类名


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)