Java main 方法三問
main 方法是我們能剛開始學習 Java 時接觸的第一個方法,在開發過程中我們都會直接和間接的使用到這個方法,那麼你是否考慮過這三個問題:
- main 方法為什麼是靜态方法?
- main 方法為什麼是公有方法?
- main 方法的傳回值為什麼是 void ?
針對上面的三個問題我分别進行一一解答。
零、main 方法為什麼是靜态方法
我們想象一下,如果 main 方法不是靜态的,那麼 JVM 在調用 main 方法前就必須先執行個體化 main 類,但是構造器可以被重載是以 JVM 就無法确認到底應該調用哪個 main 方法。并且靜态的方法和資料加載到記憶體中後就可以直接調用,而不需要先執行個體化類後才能調用執行個體化方法。簡單的說就是靜态的 main 方法會被加載到 JVM 上下文中成為可直接執行的方法。
一、main 方法為什麼是公有方法
在 Java 中定義了一些通路修飾符,程式中的每個方法都可以加上任何一種通路修飾符。對于 main 方法來說因為需要在 main 類之外的地方也能通路到是以就需要指定為公有方法。
二、main 方法的傳回值為什麼是 void
main 方法為什麼沒有傳回值其實很簡單,因為 main 傳回任何值對于程式來說沒什麼用。