当具有访问修饰符的类为public且文件名和类名不同的java文件不同时,会发生什么情况

时间:2018-08-09 19:24:47

标签: java filenames main

我只是用文件名b.java编写了这样的代码

public class a{
    public static void main(String args[]){
        System.out.println("Hii");
    }
}

它给出了这样的错误

error: class a is public, should be declared in a file named a.java

如果我删除了public前面的访问修饰符class 运行正常。 是否有其他解决方案可以实现,除非有大理由,否则我不想更改类或文件名。

如果是,请向我解释原因。为什么我们应该给文件名和同名的类名。

1 个答案:

答案 0 :(得分:0)

如果您将某个类定义为公共类,则该类名应与文件名匹配。

我们将任何类定义为公共类的原因是为了使它可以从其他类或其他程序包中的代码访问。

此文件名在类名之后的命名规则使编译器很容易找到该类。

在JAVA中,文件中也只能有一个公共类。