当我编译一个空的Java文件时,它没有生成任何类文件。所以我想知道编译器在编译一个空的Java文件时有什么反应?我认为在这种情况下它应该生成一个空的类文件,但它没有。那么,为什么它没有呢?
发布于 2010-03-18 13:43:31
javac启动,发现文件中没有声明类,然后结束。要创建.class文件,必须至少在文件中包含类声明。
发布于 2010-03-18 14:06:32
大多数答案实际上是说,类文件不是编译后的java文件,而是类的二进制表示。
如果java文件包含两个类(尽管只有一个可以是公共的),那么编译java文件可能会产生两个类文件,这就是为什么编译具有零类的东西将导致零类文件的原因。
发布于 2010-03-18 13:42:32
如果文件是完全空的,并且只调用.java,那么当您尝试生成一个类文件时,编译器就没有什么可做的了。如果你有一个
class Foo {
}段,则将生成一个空的类文件(Foo.class)
https://stackoverflow.com/questions/2467723
复制相似问题