我知道在java中,文件名应该始终与类名相同。如果文件名是test.java,那么类名应该是test。
但在我读完site之后,问题8告诉我们我们可以有空类名。
间接地,这意味着文件名与类名不同。
所以我感到困惑,再次在互联网上搜索,发现这些链接Why are filenames in Java the same as the class name?和Can I compile a java file with a different name than the class?
两者都说类名应该等于文件名。
之后我尝试在eclipse中创建一个空文件,但它不允许我。如果不输入文件名,则不会启用完成按钮。
有人可以告诉我网站上给出的答案是对还是错?
注意我知道我们可以使用与文件名不同的类名,前提是该类不应该是 public 。如果该类不公开且文件名不同从类名然后JVM找不到主方法
答案 0 :(得分:1)
他们声称.java
是一个合法的java源文件名称,并且生成的.class
文件名将取自该类的名称如来源所述。
这可能是真的。但坦率地说,如果有任何面试官问你这个技巧问题,那么正确的答案是“也许,但实践可能会非常糟糕。”
答案 1 :(得分:0)
如果您将类声明为public,则文件名和类名必须相同,否则您可以在文件中使用不同的文件名和不同的类名。