父類的靜態變量賦值---》父類的靜態代碼塊---》子類的靜態變量賦值--》子類的靜態代碼塊--》父類的非靜態變量賦值--》父類的非靜態代碼塊--》父類的構造函數--》子類的非靜態變量賦值--》子類的非靜態代碼塊--》子類的構造函數。
public class Test5 { public static void main(String[] args) { Cat cat = new Cat(); } } class Animal{ public static String name="父類"; public String sex = "雄性"; static { System.out.println("我是父類的靜態代碼塊,現在靜態變量已被賦值為:"+name); } { System.out.println("我是父類的非靜態代碼塊,現在非靜態變量已經被賦值為:"+sex); } public Animal() { System.out.println("我是父類的構造函數"); } } class Cat extends Animal{ public static String s_name = "子類"; public String age = "17歲"; static { System.out.println("我是子類的靜態代碼塊,現在我的靜態變量已經被賦值為:"+s_name); } { System.out.println("我是子類的非靜態代碼塊,現在我的非靜態變量已被賦值為:"+age); } public Cat() { System.out.println("我是子類的的構造函數"); } }
運行結果;