java带包编译_Java带包结构的编译运行方式

原标题:Java带包结构的编译运行方式

带包结构的编译运行方式

用记事本编写一个带有包结构的简单Java程序,注意文件名和类名一致

78c8f525c53407c99bc896824f498dd0.png

启动DOS

d1c16eb2d5ed84031ede98ca98fb9c2c.png

进入文件所在路径,找到我们所创建的文件。

6f352ab337067110baec6b98786a1a29.png

ec16431d30cf8966d9169356a954d9bd.png

在文件所在文件夹内执行编译

0baa13937ab3ceee15a5782a4c904c71.png

查看所在文件夹内文件,多出一个TestPackage.class

b29a3e33e77e2cddbaf85e29596dcbb8.png

执行java命令

551a24b6d24331ac9f595040c34ac419.png

出现“找不到或无法加载主类”的提示

该如何解决?

先删除之前生成的class文件

a958a736889af89254290088b59fbc3c.png

使用“javac -d . TestPackage.java”重新编译

be82e4de05a63273de545fb384640733.png

查看文件

e84c8dfef81a387f130db18f38c648f9.png

进入testPackage文件目录,出现我们的class文件

fc881650c2b09888c450fa0544a6790f.png

执行运行命令

0c2e50885d8938d357c7a986e52d5c81.png

执行成功。

“javac -d . TestPackage.java”和“javac TestPackage.java”有什么区别?

javac

javac -d .

-d参数用于指定生成class文件的位置,.(点号)表示当前目录。

-d参数的作用是指定生成java包的根目录,"-d ." 表示在当前目录上编译生成java包。

如果省略了-d,则仅仅是在当前目录生成的class文件。大多数情况都是编译生成java,尽量使用-d参数

那为什么有了包结构之后就可以运行程序呢?

因为在TestPackage.java中有包声明testPackage,当执行TestPackage.java源文件时java虚拟机首先会在TestPackage.java当前目录寻找字节码文件,虽然找到了,但是因为在TestPackage.java中有包声明,java虚拟机紧接着去包目录下寻找有没有TestPackage.class字节码文件,没有找到就会提示错误。返回搜狐,查看更多

责任编辑:

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值