2

在netbeans中运行此代码时,它要求我选择主类..为什么默认情况下不选择公共类作为主类并运行?

class Staticclasss2{
    public static void main(String[] args){
        System.out.println("Hello world from staticclasss2");
    }
}
public class Staticclasss{
    public static void main(String[] args){
        System.out.println("hello world from Staticclasss");
    }
}
4

2 回答 2

3

为什么默认不选择公共类作为主类并运行?

仅仅因为类的访问级别不是选择入口点类时相关的方面。虽然main必须是公开的,但课程本身并不……而且您通常不希望它公开。(毕竟,您通常不会从其他代码中调用它。我宁愿处于main可能是私有的情况,但这是另一回事。)

这两种选择同样有效,因此情况本质上是模棱两可的。

于 2013-07-26T05:47:48.273 回答
1

包含main()方法的类不必是公共的,只要该main()方法必须是公共的,JRE 才能选择它来启动您的程序。

因此,在您的情况下,有两个包含公共main()方法的类,因此 netbeans 要求您从这两个选项中进行选择。

Eclipse的场景也是如此。

于 2013-07-26T05:49:44.390 回答