java大坑(2)

java的初始化順序

1.類中的 static{…} 執行
2.實例初始化{…}
3.構造函數初始化A(){…}
那麼爲什麼是這個順序呢?如何記憶初始化順序呢?是這樣的,static{…}是在第一次使用類時需要執行,所以它的初始化肯定在類的對象創建之前。其次,構造函數初始化的值是“當前”我們需要的值,所以肯定是先於默認的實例初始化之前的,從設計的角度來講,也是沒有問題的,並且這個順序是唯一,不然會出現違反“直覺”的行爲。

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