關於java的初始化順序的問題

1在new B一個實例時首先要進行類的裝載。(類只有在使用New調用創建的時候纔會被java類裝載器裝入)
2,在裝載類時,先裝載父類A,再裝載子類B
3,裝載父類A後,完成靜態動作(包括靜態代碼和變量,它們的級別是相同的,安裝代碼中出現的順序初始化)
4,裝載子類B後,完成靜態動作
類裝載完成,開始進行實例化
1,在實例化子類B時,先要實例化父類A
2,實例化父類A時,先成員實例化(非靜態代碼)
3,父類A的構造方法
4,子類B的成員實例化(非靜態代碼)
5,子類B的構造方法

 

先初始化父類的靜態代碼--->初始化子類的靜態代碼-->初始化父類的非靜態代碼--->初始化父類構造函數--->初始化子類非靜態代碼--->初始化子類構造函數

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