如何在沒有主方法的情況下在 Java 中執行一個靜態塊?


Java 虛擬機器首先查詢 main 方法(至少是最新版本),然後開始執行程式,包括靜態塊。因此,你無法在沒有 main 方法的情況下執行靜態塊。

示例

public class Sample {
   static {
      System.out.println("Hello how are you");
   }
}

由於上述程式中沒有 main 方法,如果你對其進行編譯和執行,你將得到一條錯誤訊息。

C:\Sample>javac StaticBlockExample.java
C:\Sample>java StaticBlockExample
Error: Main method not found in class StaticBlockExample, please define the main method as: public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

如果你想要執行靜態塊,你需要有 main 方法,並且類的靜態塊在 main 方法之前被執行。

示例

線上演示

public class StaticBlockExample {
   static {
      System.out.println("This is static block");
   }
   public static void main(String args[]){
      System.out.println("This is main method");
   }
}

輸出

This is static block
This is main method

更新時間: 30-7-2019

1K+ 閱讀

啟動您的 職業

完成該課程取得證書

入門
廣告