为什么我们不给命令filename.class后的文件java,而不仅仅是filename?
假设我们要编译test.java程序,然后运行javac test.java.没关系!
之后它将生成test.class文件,但运行我们运行的程序java test而不是java test.class.这是什么原因?
And*_*yle 20
因为您没有描述要运行的文件.你告诉Java哪个类包含main方法 - 而类的名称是(在你的情况下)filename,而不是filename.class.
字节码几乎总是包含在文件系统的文件中这一事实是一个实现细节.传递给java命令的类路径告诉它在哪里查找类,然后主类参数告诉它使用哪个类.
(它的不同之处在于javac,因为该程序专门采用源文件并将它们编译为字节码.)
您也不会将文件名传递给java命令.您传递一个完全限定的类名.有点像com.yourcompany.yourapp.Main.然后,Java通过查看类路径中的所有目录和jar文件,找到此类名的.class文件.
| 归档时间: |
|
| 查看次数: |
1900 次 |
| 最近记录: |