Aha*_*med 9 java program-entry-point public
我有一个包含多个类的java文件,其中一个是公共的.如果main方法在非公共类中.我无法运行该java文件.这是为什么?并且没有编译错误.如果是这样,我该如何使用该主要方法?
cha*_*_ma 24
实际上,您可以在非公共类中执行main方法.如果你把这个课
class A {
public static void main(String... args) {
System.out.println("This is not a public class!");
}
}
Run Code Online (Sandbox Code Playgroud)
在名为NonPubClass.java的文件中.您可以使用javac命令编译此文件,但是您不会获得NonPubClass.class,而是获得A.class.使用java a调用该类,您将看到打印的字符串---这不是公共类!
Gal*_*xin -2
您当然可以重写 main 方法,并且它不会违反任何编译器规则,因此您不会出现任何编译器错误。
尽管您有多个类,但您还是检查了声明为公共的文件是否是您尝试执行的文件的名称。
这是一个约定,文件应该以该代码中公共的同一类命名。
因此,当您尝试执行该类时,它没有开始执行的 main 方法。因此,如果您想在非公共类中执行 main 方法,唯一的方法是从该类的 main 方法中调用该 main 方法。公开课。