声明了通过公共类在NEtbeans中选择主类的模糊性

时间:2013-07-26 05:46:03

标签: java main

在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");
    }
}

2 个答案:

答案 0 :(得分:3)

  

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

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

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

答案 1 :(得分:1)

包含main()方法的类没有公开,只有main()方法必须公开让JRE选择它最开始你的程序。

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

Eclipse 的情况相同。