Java構造方法、成員變量初始化以及靜態成員變量初始化三者的先後順序是什麼樣的?

Java筆試真題:構造方法、成員變量初始化以及靜態成員變量初始化三者的先後順序是什麼樣的?

解答:

當類第一次被加載的時候,靜態變量會首先初始化,接着編譯器會把實例變量初始化爲默認值,然後執行構造方法。

Java程序的初始化一般遵循以下三個原則(以下三原則優先級依次遞減):

① 靜態對象(變量)優先於非靜態對象(變量)初始化,其中,靜態對象(變量)只初始化一次,而非靜態對象(變量)可能會初始化多次;

② 父類優先於子類進行初始化;

③ 按照成員變量定義順序進行初始化,即使變量定義散佈於方法定義中,它們依然在任何方法(包括構造方法)被調用之前先初始化。

Java程序初始化工作可以在許多不同的代碼塊中完成(例如靜態代碼塊、構造方法等),它們執行的順序如下:父類靜態變量、父類靜態代碼塊、子類靜態變量、子類靜態代碼塊、父類非靜態變量、父類非靜態代碼塊、父類構造方法、子類非靜態變量、子類非靜態代碼塊和子類構造方法。

先後順序是:靜態成員變量、成員變量、構造方法。

關於構造文章的更多信息可以閱讀:《Java中,構造方法所具有的8個特點_尚學堂Java培訓乾貨》,更多Java學習資料視頻等信息請訪問上海尚學堂Java培訓獲取。

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