Java 中例項方法、靜態程式碼塊和建構函式的執行順序是什麼?
靜態程式碼塊是一個帶有 static 關鍵字的程式碼塊。一般來說,這些用於初始化類的靜態成員變數。JVM 在載入類時在 main 方法之前執行靜態程式碼塊。
示例
public class MyClass { static{ System.out.println("Hello this is a static block"); } public static void main(String args[]){ System.out.println("This is main method"); } }
輸出
Hello this is a static block This is main method
建構函式類似於方法,它在建立類的物件時被呼叫,通常用於初始化類的例項變數。建構函式的名稱與它們的類相同,並且沒有返回型別。
public class MyClass { MyClass(){ System.out.println("Hello this is a constructor"); } public static void main(String args[]){ new MyClass(); } }
輸出
Hello this is a constructor
例項方法
這些是類的普通方法(非靜態),你需要使用類的物件來呼叫它們 −
示例
public class MyClass { public void demo(){ System.out.println("Hello this is an instance method"); } public static void main(String args[]){ new MyClass().demo(); } }
輸出
Hello this is an instance method
執行順序
當在一個類中同時有這三者時,首先執行靜態程式碼塊,然後是建構函式,最後是例項方法。
示例
public class ExampleClass { static{ System.out.println("Hello this is a static block"); } ExampleClass(){ System.out.println("Hello this a constructor"); } public static void demo() { System.out.println("Hello this is an instance method"); } public static void main(String args[]){ new ExampleClass().demo(); } }
輸出
Hello this is a static block Hello this a constructor Hello this is an instance method
廣告