類的載入順序

2021-08-29 20:37:02 字數 474 閱讀 1533

(載入順序已經按照序號排列)

1.父類靜態**塊(包括靜態初始化塊,靜態屬性,但不包括靜態方法)

2.子類靜態**塊(包括靜態初始化塊,靜態屬性,但不包括靜態方法)

3.父類非靜態**塊(包括非靜態初始化塊,非靜態屬性)

4.父類建構函式

5.子類非靜態**塊(包括非靜態初始化塊,非靜態屬性)

6.子類構造器

其中:類中靜態塊按照宣告順序執行,並且1和2不需要呼叫new類例項的時候就執行了(意思就是在類載入到方法塊的時候執行的)

其次:也要考慮子類覆蓋父類方法的問題,也就是說方法重寫實現多型問題。

father f = new son();它為多型的一種表現形式,宣告是father,實現是son類,理解為f實現father的編譯時特性,實現son類的執行時特性。

當子類覆蓋了父類的方法後,意思是父類的方法已經被重寫。

類的載入順序

直接上 熱乎的 package test 有父類的情況 1.載入父類 1.1 為靜態屬性分配儲存空間並賦初始值 1.2 執行靜態初始化塊和靜態初始化語句 從上至下 2.載入子類 2.1 為靜態屬性分配儲存空間 2.2 執行靜態初始化塊和靜態初始化語句 從上至下 3.載入父類構造器 3.1 為例項屬性...

類的載入順序

類載入的順序 1.載入靜態成員 塊 先遞迴地載入父類的靜態成員 塊 object的最先 再依次載入到本類的靜態成員。同乙個類裡的靜態成員 塊,按寫 的順序載入 靜態 塊和靜態成員誰在前面就先載入誰 如果其間呼叫靜態方法,則呼叫時會先執行靜態方法,再繼續載入。同乙個類裡呼叫靜態方法時,可以不理會寫 的...

類的載入順序

初始化過程 1.初始化父類中的靜態成員變數和靜態 塊 2.初始化子類中的靜態成員變數和靜態 塊 3.初始化父類的普通成員變數和 塊,再執行父類的構造方法 4.初始化子類的普通成員變數和 塊,再執行子類的構造方法 class x class y public class zextends x publ...