Java 负责程序执行的 main 方法被声明为静态。但为什么这是必要的呢?
约定胜过必要性
main 中的 static 关键字仅仅是一个约定。事实上,方法签名本身,包括 main(),纯粹是一种约定。
替代约定
Java 21 引入了替代约定,允许省略 String[ ] 参数、公共访问修饰符,甚至静态修饰符。如果没有 static 修饰符,则在调用之前创建类的实例,需要非私有零参数构造函数。
JNI 和 JVM 调用
底层执行Java 应用程序的核心是一系列 Java 本机接口 (JNI) 调用。这些调用在将命令行参数解析为字符串数组后加载 JVM(不要与 java.exe 混淆)并调用 main()。
Lancer 应用程序
虽然 main 通常与 java.exe 关联,但可以创建自定义启动器应用程序。这些应用程序提供了额外的功能以及对初始化和执行过程的控制。
结论
main 的静态性质是由于方便和历史优先性而产生的约定。虽然它在技术上不是必需的,但它仍然是 Java 编程中普遍存在且一致的一部分。
以上是为什么Java的Main方法是静态的?的详细内容。更多信息请关注PHP中文网其他相关文章!