程式碼的執行順序如下:
1、一個類的靜態程式碼塊、構造程式碼塊、構造方法的執行流程為: 靜態程式碼塊 > 構造程式碼塊 > 構造方法
2、靜態的內容是隨著類的載入而載入,靜態程式碼塊的內容會優先執行
3、子類初始化之前會先進行父類的初使化
1 package debug; 2 3 class Fu{ 4 static { 5 System.out.println("Fu靜態"); 6 } 7 { 8 System.out.println("FU構造語句塊"); 9 } 10 public Fu() { 11 System.out.println("FU構造語句"); 12 } 13 } 14 15 class Zi extends Fu{ 16 static { 17 System.out.println("Zi靜態"); 18 } 19 20 { 21 System.out.println("Zi構造程式碼塊"); 22 } 23 24 public Zi() { 25 System.out.println("Zi構造語句"); 26 } 27 } 28 29 30 31 public class Demo15 { 32 public static void main(String[] args) { 33 Zi z = new Zi(); 34 35 } 36 37 }
輸出如下:
Fu靜態 Zi靜態 FU構造語句塊 FU構造語句 Zi構造程式碼塊 Zi構造語句