主页

Java包

包是一组类和接口的集合。包的引入,实现了封装特性。

同一个包中不允许有同名的类和接口,不同的包中允许同名的类和接口。包的引入,解决了类名的冲突问题。

包本身也是分级的,包中还可以有子包。

Java的包可以用文件系统来存放,也可以存放在数据库中。

在Windows中,包是以文件系统来存放的,包和类的关系类似于文件夹和文件的关系。包中的子包,相当于文件夹中的子文件夹。

顶层类和接口,只能定义public或默认访问权限,默认权限表示仅同一个包中可见,public 则是公共的,没限制。

 

Java中有两种包: 命名包 和 未命名包。

 

声明和导入包

 [package 包名;]?  

 [import 包名.[类名 | *]? ; ]*  

  包名.类名 test = new 包名.类名();  

包声明语句必须是源文件中的第一条语句。(前面可以有注释、空行)

指定包名后,该源文件中的所有类都属于这一个包中,不可能有某个类属于其它包。

对于同一个工作目录下的两个源文件,如果其声明的包是相同的,则这两个文件中的所有类均属于同一个包。

 

导入时,可以只导入一个包中的类(指定最后的类名),也可以导入这个包中的所有类(最后用*号表示)。

导入时的*号有一个限制:系统预定义的包可以随便导入,但如果要导入自定义包,则本源文件必须声明成一个命名包。

也可以不用import语句,而是直接使用 包名.类名。

注意,包的声明和导入语句,末尾的分号是必须的。

 

编译、运行包

 javac 源文件名.java    ,会在当前目录下生成class文件(虽然其包名可能是一长串)。如果要正常使用这个class文件,则必须手动创建其中包对应的目录,并移动本class到对应目录中。

 javac -d . 源文件名.java   ,会在 ./包名对应的路径   生成对应的目录结构,并将编译的class文件放入其中。

 java 包名.类名   或  java 包名对应路径/类名    , 即可运行对应class文件。

 

jar文件

.jar 就是 ZIP格式的压缩文件,可以先压缩为 .zip 再改名 为 .jar,也可以用zip软查看.jar文件中的内容。

jar文件中可以有class文件或其它任何文件。

 jar cvf jar包名.jar A.class B.class ...    ,将多个class文件打包为一个jar包。

 java  -jar jar包名.jar  ,执行一个jar包。

 

posted @ 2023-04-18 22:49  平凡人就做平凡事  阅读(213)  评论(0)    收藏  举报