一、java包的用法---基础,二、包的用法---进阶,三、JAR命令用法,包是一组类的集合,包其实就是多个文件夹构成的多级目录,包名全部用小写字母表示,在程序中要声明类所属的包时,用package

一、包的用法---基础

包是一组类的集合,包其实就是多个文件夹构成的多级目录,包名全部用小写字母表示,在程序中要声明类所属的包时,用package关键字。

package edu.cn.fzh;

package语句必须作为整个文件的第一条语句,并且只能有一条。如图1所示

                                      

图1 package的用法

并把Hello.java文件保存到F:\下,并编译,运行,如图2所示,编译没问题,但运行结果不对,因为NoClassDefFoundError: Hello,没有找到名字叫Hello的类。

                                                       

 

图2 编译运行结果(1)

原因是,现在已经有了包了:edu.cn.fzh, 类不能叫Hello,而应加上包名,运行时应修改为, java edu.cn.fzh.Hello,但结果依然不对,如图3所示:

                                                             

图3编译运行结果(2)

解决方法:修改编译命令,应该用以下命令进行编译。

javac  -d  .  Hello.java

-d的含义是根据程序中的包名生成文件夹,“.”的含义是在哪生成文件夹,代表在当前路径(F:\)生成edu文件夹,如图4所示,将编译后生成的class类放到edu\cn\fzh目录下,


图4 –d命令编译自动生成目录

这样就把类文件和源程序文件分开。

运行程序时应该输入java edu.cn.fzh.Hello, 不能直接使用java Hello

 二、包的用法---进阶

在以上的演示中,我们并没有把源程序文件,Hello.java放在包对应的目录下,如果类Hello可能被其他的类调用,那么应该将Hello.java源程序放在edu/cn/fzh的目录下,如图5,图6所示:


图5 目录


图6 Hello.java 内容

将Test.java文件保存到F:\,内容如图7所示:                                                              

                                                                                                                              

图7 Test.java内容

在F:\下建立class文件夹,编译命令如图8所示:该命令中只编译主类即可,系统会自动对其他类进行编译。

                                                             

图8 编译命令

此时class文件的内容如图9、图10所示                                                              


图9 编译后结果(1)


图10 编译后结果(2

 

运行程序的命令如图11所示:


图11 运行命令

这样就将class文件和java源程序文件分开,但这时class文件有多个,

 三、JAR命令用法

JAR文件,就是将程序的所有类文件.class文件压缩打包,类似与zip,但与zip不同,JAR文件还包含了一个META-INF/MANIFEST.MF的文件。

JAR打包的过程:

在class目录下创建一个文件,名字随意定,扩展名随意,也可以没有扩展名,如文件就叫mani,提前在文件中输入以下内容:

Main-Class: Test

 

注意: Main-Class 写法固定,区分大小写,冒号后要由空格,作用是指示该jar的入口类即主类,如果该类有包,要注明包名,但没有“.java”,也没有”.class”

最后别忘了输入“回车符”

JAR包命令如下:(注意修改命令的路径到class文件和mani文件所在的路径)


具体内容:

1.      JAR为命令名

2.      cvmf为jar命令子命令,其中c代表创建jar文件,v代表生成详细报告,m表示指定Manifest清单文件,及刚才创建的mani文件,f代表指定jar文件名字

3.      mani代表Manifest清单文件的名字,如果有后缀名要注明后缀名

4.      app.jar表示生成的jar文件的名字

5.      后面的edu和Test.class表示要加入到jar包中的文件或文件夹

生成的报告及app.jar文件:



运行jar文件的命令:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值