Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java空类名_Java - Fatal编程技术网

Java空类名

Java空类名,java,Java,我知道在java中,文件名应该始终与类名相同。假设文件名是test.java,那么类名应该是test 但在我读了这个问题之后,第8个问题告诉我们可以有空的类名 间接地说,这意味着文件名与类名不同 所以我很困惑,再次在互联网上搜索,找到了这些链接和 两者都表示类名应该等于文件名 在此之后,我尝试在eclipse中创建一个空文件,但它不允许我这样做。如果不输入文件名,则“完成”按钮将无法启用 有人能告诉我网上给出的答案是对的还是错的吗 注意我知道我们可以使用不同的类名作为文件名,前提是类不应该是公共

我知道在java中,文件名应该始终与类名相同。假设文件名是test.java,那么类名应该是test

但在我读了这个问题之后,第8个问题告诉我们可以有空的类名

间接地说,这意味着文件名与类名不同

所以我很困惑,再次在互联网上搜索,找到了这些链接和

两者都表示类名应该等于文件名

在此之后,我尝试在eclipse中创建一个空文件,但它不允许我这样做。如果不输入文件名,则“完成”按钮将无法启用

有人能告诉我网上给出的答案是对的还是错的吗


注意我知道我们可以使用不同的类名作为文件名,前提是类不应该是公共的。如果类不是公共的,并且文件名与类名不同,那么JVM找不到主方法

如果将类声明为公共的,则文件名和类名必须相同,另一方面,您可以在文件中使用不同的文件名和类名。

他们声称
.java
是合法的java源文件名,并且生成的
.class
文件名将取自源文件中所述的类名


这可能是真的。但坦率地说,如果有面试官问你这个问题,正确的答案是“也许吧,但这将是非常糟糕的做法。”

是的,我们可以有不同的类名,因为文件名的类名是非公共的。但是我们不能运行,因为JVM会抱怨找不到主方法。如果您有不同的类名,则必须使用java文件名编译,并使用类名运行。如果您有不同的类名,则必须使用java文件,并使用class.@Mo.Ashfaq的名称运行。我们通常在终端中运行(java class_name)时也会这样做。有什么不同?你指的是像eclipse这样的编辑器吗?谢谢你的回答,但是JVM可以找到main方法。在eclipse中,我创建了类测试,单击finish按钮后,eclipse给了我公共类测试。之后,我删除了public关键字并将测试重命名为test1并保存。现在,当我右键单击时,它没有显示我作为java应用程序运行选项not拥有一个公共的main()是一个完全不同的问题。我已经编辑了我的帖子,我想你现在可以回答。如果main()不是公共的,它就不符合作为程序入口点的要求。不管文件名是什么。main()是公共的,类不是公共的