java compilation: classname Vs classname with file-extension
从命令行运行基本Java程序是一个3步过程:
编写代码:
公共类地狱世界{公共静态void main(string[]args){system.out.println("你好,世界");}}
由
通过给出类名-->
现在,我很好奇为什么:
1 2 |
如果我们只给出类名和具有文件扩展名的类名,有什么区别?
What does it make a difference if we give just the classname Vs classname with file-extension?
您提供给
1 | java foo.bar.Baz |
同样地,如果您试图运行
基本上,您不应该将参数视为文件名—您应该将其视为完全限定的类名。检查文件系统中甚至可能没有一个简单的
What does it make a difference if we give just the classname Vs classname with file-extension?
这是因为它就是这样。Sun/Oracle已经实现了EDCOX1的0指令,以便从Java 1开始工作,并且改变它将是巨大的破坏性的。
如jon所说,该命令的参数是完全限定的类名,而不是文件名。实际上,名为
在Java编程语言中,源文件(.java文件)编译成具有类扩展的(虚拟)机器可读类文件。