当具有访问修饰符public的类与具有文件名和类名的java文件不同时,会发生什么情况
我刚刚用文件名b.java编写了一个这样的代码当具有访问修饰符public的类与具有文件名和类名的java文件不同时,会发生什么情况,java,filenames,main,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 它运转良好。 我不想更改类名或文件名,除非有
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
它运转良好。
我不想更改类名或文件名,除非有很大的原因
如果是,请解释原因。为什么我们应该给出文件名和同名的类名。如果将类定义为public,则类名应该与文件名匹配 我们将任何类定义为public的原因是使它可以从其他类或其他包中的代码访问 根据文件的类名命名文件名的规则,编译器可以很容易地找到类
同样在JAVA中,一个文件中只能有一个公共类。对于开发人员来说,这种约定更像是一种最不令人惊讶的原则,而不是编译器,因为您可以在不同名称的文件中定义非公共类。