Java是源文件或二进制文件的导入关键字吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java是源文件或二进制文件的导入关键字吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1335字,纯文字阅读大概需要2分钟。
内容图文
![Java是源文件或二进制文件的导入关键字吗?](/upload/InfoBanner/zyjiaocheng/759/80db1e2fbcbe41fc8d3b5bea03e432cc.jpg)
我知道我可以使用import语句在我的Java项目中包含一个类或一组类.
例如,导入java.io.utils.* import(即可在我的Java程序中使用)java.io.utils包中的所有类.
我的问题是,是否需要编译导入包中的类?或者包也可以包含未编译的Java文件?如果它可以是,我们何时可以使用类文件,何时可以使用Java文件?
解决方法:
导入只是意味着“通过简单名称使导入的类可用” – 如果在任何地方使用完全限定名称,则可以完全删除导入.例如,它绝对不像C中的#include.
当你编译时,如果你试图引用未编译的代码,它将在那时被编译,假设编译器可以猜测在哪里找到源代码.结果从不引用未编译的代码,因为编译器需要知道每种类型公开的内容.
作为完整示例,构造以下文件结构:
// src/foo/A.java
package foo;
import bar.*;
public class A {
public static void main(String[] args) {
B.sayHello();
}
}
// src/bar/B.java
package bar;
public class B {
public static void sayHello() {
System.out.println("Hello");
}
}
然后在src目录中运行:
javac foo/A.java
这将自动编译bar / B.java – 但不会编译任何其他未引用的代码(可能是传递的).
我强烈建议不要使用这种“按需编译”行为 – 如果你编译依赖于B类的A类,它将在第一次编译B,但之后如果你改变B并重新编译A,则编译器赢了’重新编译B.我会将您的代码组织到适当的项目中,并始终一次重新编译一个完整的项目,将项目的输出目录添加到依赖于它的项目的类路径中,而不是允许编译一个项目来重新编译另一个项目的位一经请求.
(请注意,这并不是说许多IDE支持的渐进式编译……这是一个相当不同的问题,假设它已经正确实现,这很好.)
内容总结
以上是互联网集市为您收集整理的Java是源文件或二进制文件的导入关键字吗?全部内容,希望文章能够帮你解决Java是源文件或二进制文件的导入关键字吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。