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中文網其他相關文章!