執行順序:父類靜態塊-->子類靜態塊-->父類非靜態塊-->父類構造方法-->子類非靜態塊-->子類構造方法
當父類或子類中有多個靜態方法時按在代碼中的順序執行
1 package day1015; 2 3 /** 4 * @author donleo 5 * date 2019-10-15 6 * code 代碼執行順序 7 */ 8 public class Father { 9 10 static { 11 System.out.println("Father中靜態代碼塊一"); 12 } 13 static { 14 System.out.println("Father中靜態代碼塊二"); 15 } 16 17 public Father(){ 18 System.out.println("Father構造方法"); 19 } 20 21 { 22 System.out.println("Father中非靜態塊"); 23 } 24 25 public static void main(String[] args){ 26 Son son = new Son(); 27 } 28 } 29 30 //子類繼承父類 31 class Son extends Father{ 32 static { 33 System.out.println("Son中靜態代碼塊一"); 34 } 35 static { 36 System.out.println("Son中靜態代碼塊二"); 37 } 38 39 public Son(){ 40 System.out.println("Son構造方法"); 41 } 42 43 { 44 System.out.println("Son中非靜態塊"); 45 } 46 }
代碼執行結果: