在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");
}
}
答案 0 :(得分:3)
为什么不默认选择公共类作为主类并运行?
仅仅因为类的访问级别不是选择入口点类时相关的方面。虽然main
必须是公开的,但类本身并不......而且通常你不会想要它。 (毕竟,你通常不从其他代码中调用它。我宁愿处于main
可能是私有的情况,但这是另一回事。)
这两个选项同样有效,因此情况本质上是模棱两可的。
答案 1 :(得分:1)
包含main()
方法的类没有公开,只有main()
方法必须公开让JRE选择它最开始你的程序。
因此,在您的情况下,有两个类包含公共main()
方法,因此netbeans会要求您从两个选项中进行选择。
与 Eclipse 的情况相同。