为什么Java主要方法是静态的?
Java main()方法的方法签名为:
public static void main(String[] args){ ...
}
此方法是否有理由是静态的?
回答:
该方法是静态的,因为否则会产生歧义:应调用哪个构造函数?特别是如果你的班级是这样的:
public class JavaClass{ protected JavaClass(int x){}
public void main(String[] args){
}
}
JVM应该调用new JavaClass(int)
吗?它应该做什么x?
如果不是,JVM是否应该在JavaClass
不运行任何构造方法的情况下实例化?我认为不应该这样,因为这将对整个类进行特殊处理-有时你有一个尚未初始化的实例,并且必须在每个可以调用的方法中进行检查。
对于JVM,在调用入口点之前必须实例化一个类,这有太多的极端情况和含糊之处。这就是为什么main是静态的。
我不知道为什么main
总是被标记public
。
以上是 为什么Java主要方法是静态的? 的全部内容, 来源链接: utcz.com/qa/416041.html