主页

Java包

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 @   平凡人就做平凡事  阅读(103)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示