Java類的各種成員初始化順序,20K程序員也可能不清楚

如果想學習Java工程化、高性能及分布式、深入淺出。性能調(diào)優(yōu)、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java高級架構(gòu)進階群:180705916,群里有阿里大牛直播講解技術(shù),以及Java大型互聯(lián)網(wǎng)技術(shù)的視頻免費分享給大家

程序員、編程、軟件開發(fā)、吐槽

很多Java程序員肯定代碼執(zhí)行順序沒搞清楚

不信大家看看執(zhí)行結(jié)果會和你想的一樣嗎總結(jié)

class B extends A ,然后A類也就是父類里面有靜態(tài)代碼塊,普通代碼塊,靜態(tài)方法,靜態(tài)成員變量,普通成員變量,普通方法。

子類也是這樣,然后繼承之后,關(guān)于程序打印輸出的結(jié)果。

涉及到Java類的各種成員的初始化順序。

經(jīng)測試,得到如下結(jié)論:

1.父類【靜態(tài)成員】和【靜態(tài)代碼塊】,按在代碼中出現(xiàn)的順序依次執(zhí)行。

2.子類【靜態(tài)成員】和【靜態(tài)代碼塊】,按在代碼中出現(xiàn)的順序依次執(zhí)行。

3.父類的【普通成員變量被普通成員方法賦值】和【普通代碼塊】,按在代碼中出現(xiàn)的順序依次執(zhí)行。

4.執(zhí)行父類的構(gòu)造方法。

5.子類的【普通成員變量被普通成員方法賦值】和【普通代碼塊】,按在代碼中出現(xiàn)的順序依次執(zhí)行。

6.執(zhí)行子類的構(gòu)造方法。Object祖宗類鎮(zhèn)樓

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容