類初始化過程
①,乙個類要建立例項需要先載入並初始化該類
--》main方法所在的類需要先載入和初始化
②,乙個子類要初始化需要先初始化父類
③,乙個類初始化就是執行() 方法
--》() 由靜態類變數賦值**和靜態**塊組成
--》靜態類變數賦值**和靜態**塊從上往下執行
--》() 方法只執行一次
例項初始化過程
①,例項初始化就是執行()方法
--》()方法可能過載有多個,有幾個構造器就有幾個()方法
--》()方法是由非靜態例項變數顯式賦值**和非靜態**塊,對應構造器**組成
--》非靜態例項變數顯式賦值**和非靜態**塊從上往下執行,而對應構造器方法最後執行
--》每次建立例項物件,呼叫對應構造器,執行的就是對應的()方法
--》方法的首行是super(),即對應父類空參的方法
非靜態方法前面其實有乙個預設的物件this
this 在構造器(或)它表示的是正在建立的物件,當子類在例項化時
父類的例項方法前面的this就是子類物件
類初始化和例項初始化
乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行clinit 方法 clinit 方法由靜態類變數顯式賦值 和靜態 塊組成 類變數顯式賦值 和靜態 塊 從上到下順序執行 clinit 方法只執行一次 父類的初始化 ...
類初始化和例項初始化
father public class father father public inttest public static intmethod son public class sonextends father son public inttest public static intmethod...
類初始化和例項化過程
1 乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 2 乙個子類要初始化需要先初始化父類 3 乙個類初始化就是執行clinit 方法 clinit每個類都有,自動生成 中文名類初始化方法 clinit方法由靜態類變數顯示賦值 和靜態 塊組成 類變數顯示賦值 和靜態 塊...