1. 程式人生 > >Java中的init方法和clinit方法

Java中的init方法和clinit方法

01 init方法

init是物件構造器方法,在建立例項時呼叫。

02 clinit方法

clinit是類構造器方法,也就是在jvm在進行類載入-驗證-解析-初始化中的初始化階段,jvm會呼叫clinit方法。

clinit方法是在類載入過程中執行的,而init方法是在物件例項化執行的。所以clinit一定比init方法先執行。

所以執行順序為:

  1. 父類靜態變數初始化
  2. 父類靜態語句塊
  3. 子類靜態變數初始化
  4. 子類靜態語句塊
  5. 父類變數初始化
  6. 父類語句塊
  7. 父類建構函式
  8. 子類變數初始化
  9. 子類語句塊