加載-》連接(驗證-》準備-》解析)-》初始化
1)加載:通過類的全名獲取類的二進制流,將類的數據結構轉化爲方法區的結構,在內存中生成一個代表這個類的class對象
2)連接:
- 驗證:確保class信息正確無害
- 準備:在方法區初始化變量的初始值,對象爲null
static int a =1 (初始化爲0)
static final int a = 10 (初始化爲10) - 解析:將類的符號引用轉爲直接引用
3) 初始化:執行方法的過程
準備階段初始化爲默認值
初始化階段按順序執行
a. 父類靜態變量
b. 父類靜態語句塊
c. 子類靜態變量
d. 子類靜態語句塊
e. 父類變量
f. 父類語句塊
g. 父類構造函數
h. 子類變量
i. 子類語句塊
j. 子類構造函數