clinit:在Java編譯以後會在字節碼文件中生成<clinit>方法,成爲類構造器,包括靜態變量初始化和靜態塊的執行。收斂到clinit,收斂順序爲(父類的先執行):函數
若父類爲接口,則不會調用父類的clinit方法,所以一個類能夠沒有clinit方法接口
init:在Java編譯以後會在字節碼文件中生成<init>方法,成爲實例構造器。該實例構造器會將語句塊,變量初始化,調用父類的構造器等操做收斂到init方法,收斂順序:it
clinit在類加載過程當中執行,init在實例化過程當中執行,clinit先於init執行。編譯