博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的c import_关于编译(javac),import,package的再理解
阅读量:5108 次
发布时间:2019-06-13

本文共 600 字,大约阅读时间需要 2 分钟。

1.若我们在A.java中用到了类B,当我们仅仅用 javac A.java 编译A时,编译器也会去寻找B,若类B依然是源文件,也会自动编译它。在使用javac和java命令时,有一个参数选项 -verbose ,可以显示虚拟机每一步所做的事情。

2.类A已经编译成功后,A中用到的B.class依然不能移走,若此时执行java A ,会报NoClassDefFoundError.

3.编译时,如果程序里用到其它类,不需要该类的源码也一样能够通过编译。这很好理解,我们在编写自己的类时,用到了系统类库,这些类库都是以 .class文件存在于jar包中,而我们能正确编译我们自己的类。

4.当一个类的源码中有 package 声明时,无论是 .java源文件还是 .class文件都应该置于 package 声明的路径下。

5.javac和java 命令都可以使用 -cp(-classpath)参数命令,但是对于javac来说,-cp 有两个指引作用,一个是指引ACL(AppClassLoader)去找类A中引用到的B.class,二是如果B.class不存在,则指引编译器找到B.java 文件。而对于 java 命令只有上述的第一个作用。对于每个需要载入的类都要向ACL交代清楚其位置。所以会看到下面的代码。 javac -cp d:\ A.java  和  java -cp d:\;. A  .

转载地址:http://iqjdv.baihongyu.com/

你可能感兴趣的文章
c#运算符 ?
查看>>
【题解】青蛙的约会
查看>>
.26-浅析webpack源码之事件流make(1)
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
HBase配置性能调优(转)
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>