linux执行class文件_「大数据干货」Windows系统和Linux系统中打jar包与导入语句剖析...

Jar包是Java中的压缩包格式,同Zip格式一样,用来对.class文件统一管理,如下是在Windows系统和Linux系统中不同的打包和执行.class程序的过程。

9b48e204ec7bb40d5c735a6426e0946b.png

windows:

919574ecd6dcca425ac85b1c4639acdd.png

Linux:

6c011f1c3508029fb047ebb9895156cf.png

注:1.执行jar包中的.class文件有2种方法:

在系统配置的CLASSPATH找.class

e1cd8fef261e3665647dc3ef6e9394fc.png

在指定的jar包中找.class

79089cdb4303088ac681c2143a82df77.png

2.软件完成后,一般不给源代码,给用户的就是一系列的jar包。

包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下。

1.包的命名规则:将公司域名反转作为包名。

比如:www.javamanual.com,则包名字就可以写成com.javamanual(包名),对于包名,每个字母都需要小写。

2616956fe4f4c7b7fcc6c2903c6deb51.png

编译通过执行出现如下错误:

b7024a1e123724f7cae26489da897c14.png
9d5e61181e3ddf95df964cdb43bf017b.png
31588bcc0a7ade74f7bf69489cec83ae.png

2.NoClassDefFoundError没有类定义发现错误,找不到这个com/javamanual/PackageTest这个类,所以这个是错误时因为包的路径出现的错误,所以要使用包这个概念,必须要建立好包的这个目录结构,然后把这个编译生成的.class文件放在里面,执行命令java.com.javamanual PackageTest,如下执行成功。

9b637411695b0984e16cb4f0cf2c1ca6.png

此时这个类的全名是com.javamanual.PackageTest,如果定义类的时候没有使用package,那么Java就认为我们所定义的类位于默认包里(default package)。

编译带有package声明的Java源文件有两种方式:

a)直接编译,然后根据类中所定义的包名,逐一手工建立目录结构,最后将生成的.class文件放到该目录结构中(很少使用,比较麻烦)。

b)使用编译参数-d,方式为javac-d.源文件.java,这样在编译后,编译器会自动帮助我们建立好包所对应的目录结构。

如上一个例子用以下的命令则编译器就会自动将我们的类文件放在定义的包目录下,当然编译的时候要写全名:

925edbfe1e06c7788f6f98f59f800cd0.png

3.有两个包名,分别是aa.bb.cc与aa.bb.cc.dd,那么我们称后者为前者的子包。

4.导入(import),将使用package分离的各个类导入回来,让编译器能够找到需要的类。

程序一:

1c6d8bbb4a94f268d2e9ec7e0727cf13.png

程序二:

7ff2373a9ee95d1c439b63adb88d73c2.png

编译结果:

be743040d8ea8e7b7ccb208657627808.png

5.import的语法:import com.javamanual.packageTest;

6.import com.javamanual.*,表示导入com.javamanual包下面的所有类。*表示通配符。匹配任何字符。

7.import aa.bb.*并不会导入aa..bb.cc包下面的类。

这时需要这样写:

2f15be85fbdfce0663e2411c5b54f5fb.png

8.关于package、import、class的顺序问题:

a)首先需要定义包(package),可选。

b)接下来使用import进行导入,可选。

c)然后才是class或interface的定义。

9.如果两个类在同一个包下面,那么则不需要导入,直接使用即可。


最后说一下,想要学习大数据的限时领取免费资料及课程

领取方法:

还是那个万年不变的老规矩

1.评论文章,没字数限制,一个字都行!

2.成为小编成为的粉丝!

3.私信小编:“大数据开发教程”即可!

谢谢大家,祝大家学习愉快!(拿到教程后一定要好好学习,多练习哦!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值