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



