Java類成員變量的初始化順序

在類被繼承的情況下,初始化的順序:

1.初始化子類,類加載器在加載它的時候會發現它繼承了另外一個類,類加載器要先把父類加載進來。於是開始加載父類,父類的靜態部分被按順序加載。之後子類的靜態部分被加載。這樣的順序是考慮子類的靜態域可能會依賴父類的靜態域;

2.父類的非靜態部分被加載;

3.子類指定的父類的構造器;

4.子類的非靜態部分被加載;

5.子類構造器的其餘部分。

招聘網站評價


結果爲:

Cat static 2
Cat static block
Tiger static 4
Tiger static block
Tiger unstatic 1 //特別注意,這裏是多態構造
Cat unstatic block
new Cat()
Tiger unstatic 3
Tiger unstatic block
new Tiger()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章