为何仅含Main.class文件的Java项目可在NetBeans中运行?
为什么只有.class文件的Java项目能在NetBeans中运行
- Java是编译型语言,
.java格式的源码文件只是供开发者编写、阅读的“源代码”,它需要先通过javac编译器编译成JVM(Java虚拟机)能直接识别执行的字节码文件,也就是你看到的.class文件。JVM运行程序时,根本不需要依赖原始的.java源码,只要.class文件是合法的、包含public static void main(String[] args)这个程序入口方法的字节码,就能正常执行。 - NetBeans的运行逻辑:当你按下F6启动项目时,IDE会自动扫描项目中的文件,只要找到带有main方法的可执行
.class文件(比如你的Main.class),就会直接调用JVM的java命令来运行这个类,完全不需要.java源码的参与。 - 简单说:
.java是“设计图”,.class是“成品零件”,JVM只需要“成品零件”就能组装运行程序,没了“设计图”不影响零件的使用——除非你要修改零件(也就是改代码重新编译),才需要设计图。
内容的提问来源于stack exchange,提问作者Hoang Dinh Nhat
相关产品推荐
相关产品推荐

