【问题标题】:Is it compulsory to have any class name same as file name in java? [duplicate]java中的类名是否必须与文件名相同? [复制]
【发布时间】:2020-10-11 04:27:13
【问题描述】:
class test1{
 public static void main(String args[]){
 System.out.print("test successful!");
 }}

我的 java 文件的文件名为 test.java。当我编译它时,它编译成功,但是在执行它时引发了一个错误,所以我将类名从 test1 更改为 test 是文件名本身,然后它成功执行。所以我的问题是,是否真的需要在 java 中使用与要执行的文件名相同的任何一个类

【问题讨论】:

    标签: java class


    【解决方案1】:

    当首先编写一个java程序时,它被保存为“.java”文件,当它被编译时,它形成一个“.class”文件的字节码,如果我们让我们的程序文件类似于类它我们将很容易理解,没有任何歧义。只有当类不公开时,我们才允许使用任何名称作为文件名。在公共类的情况下,我们不能使用不同的文件名。

    你也可以给出差异名称,但在运行时,你必须提到类名。

    例如-test.java 并拥有class Test

    在编译期间你会写javac test 但是在运行时你必须提到java Test

    完整解释https://www.geeksforgeeks.org/myth-file-name-class-name-java/

    【讨论】:

      【解决方案2】:

      文件名必须与该文件中的公共类名相同,这是告诉 JVM 这是一个入口点的方式。

      假设当我们创建一个包含多个类的程序时,在编译一个 java 源文件后,它将生成与我们程序中的类相同数量的 .class 文件。在这种情况下,我们将无法轻易识别出哪个类需要由 java 解释器解释,以及哪个类包含程序的入口点。

      阅读本文了解更多信息,https://www.tutorialspoint.com/why-the-java-file-name-should-be-always-the-same-as-a-public-class-name

      【讨论】:

        猜你喜欢
        • 2014-11-13
        • 1970-01-01
        • 1970-01-01
        • 2020-10-20
        • 2018-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多