如何在不使用 main 方法的情況下執行 Java 中的靜態塊?
VM 首先查詢 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
廣告