java基礎 類的初始化

2021-08-08 10:17:49 字數 521 閱讀 5728

下面程式的輸出是什麼?
class x

}class y

}public class z extends x

public static void main(string args)

}

初始化過程:  1.

初始化父類中的靜態成員變數和靜態**塊; 

2.初始化子類中的靜態成員變數和靜態**塊; 

3.初始化父類的普通成員變數和**塊,再執行父類的構造方法;

4.初始化子類的普通成員變數和**塊,再執行子類的構造方法; 

(1)初始化父類的普通成員變數和**塊,執行  y y=new

y();

輸出y 

(2)再執行父類的構造方法;輸出x

(3)初始化子類的普通成員變數和**塊,執行  y y=new

y();

輸出y 

(4)再執行子類的構造方法;輸出z

所以輸出yxyz

java 基礎 類初始化順序

1.類初始化順序 package hello public class apublica 控制台輸出結果 靜態 a a建構函式 a優先順序 靜態 塊 塊 建構函式 1.子類整合初始化順序public class a public a class b extends a public b 測試 pub...

java 類的初始化

載入順序 啟動類的static block最先載入 父類靜態成員 靜態 塊 子類靜態成員 靜態 塊 父類例項成員 塊 父類建構函式 子類例項成員 塊 子類建構函式 class singleton public static singleton getinstence public class tes...

Java 類的初始化

public class person person p new person 1 將 person.class 檔案載入到記憶體 2 在棧記憶體之中為 p 開闢空間 3 在堆記憶體中為 person 物件開闢空間 4 對 person 物件的成員變數進行預設初始化 name null,age 0 ...