為什麼Java中的main()方法總是靜態的?


Java 的 main() 方法總是靜態的,這樣編譯器就可以在建立物件之前或無需建立類的物件的情況下呼叫它。

  • 在任何 Java 程式中,main() 方法都是編譯器開始程式執行的起點。因此,編譯器需要呼叫 main() 方法。
  • 如果允許 main() 為非靜態的,則在呼叫 main() 方法時,JVM 必須例項化其類。
  • 在例項化時,它必須呼叫該類的建構函式。如果該類的建構函式帶引數,則會出現歧義。
  • 類的靜態方法可以直接使用類名呼叫,無需建立類的物件。
  • Java 中的 main() 方法必須宣告為 publicstaticvoid。如果缺少任何一個,Java 程式將編譯,但會丟擲執行時錯誤。

示例

class Book {
   public static void getBookInfo() { //static method
      System.out.println("Welcome to TutorialsPoint Library");
   }
}
public class Test {
   public static void main(String[] args) {
      //Call static method of Book class using class name only
      Book.getBookInfo();
   }
}

輸出

Welcome to TutorialsPoint Library

更新於: 2019年7月30日

15K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告