類的初始化過程,類的例項化過程

2021-10-09 12:06:32 字數 918 閱讀 2956

乙個類進行初始化或例項化時,一定會先對其父類進行初始化或例項化。

子類進行初始化:(1)父類進行初始化

(2)子類的靜態成員變數、靜態**塊進行初始化

父類進行初始化:(1)父類的靜態成員變數、靜態**塊進行初始化

注意:靜態成員變數、靜態**塊有先後順序,誰在上先初始化誰

子類進行例項化:(1)父類進行初始化

(2)子類進行初始化

(3)父類進行例項化

(2)子類的非靜態成員變數、非靜態**塊執行,構造方法執行

父類進行例項化:(1)父類的非靜態成員變數、非靜態**塊執行,構造方法執行

注意:非靜態成員變數、非靜態**塊​​​​​​​有先後順序,誰在上先執行誰,構造方法總是最後執行。

特殊:當子類重寫了父類方法,父類例項化過程中使用到了此方法,會執行被重寫的方法

父類aa

package test;

public class aa

public aa()

public int test01()

public static int test02()

}

子類bb

package test;

public class bb extends aa

public bb()

public int test01()

public static int test02()

}

測試

package test;

public class test

}

類初始化和例項初始化過程

類初始化過程 乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行 方法 由靜態類變數賦值 和靜態 塊組成 靜態類變數賦值 和靜態 塊從上往下執行 方法只執行一次 例項初始化過程 例項初始化就是執行 方法 方法可能過載...

類初始化和例項化過程

1 乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 2 乙個子類要初始化需要先初始化父類 3 乙個類初始化就是執行clinit 方法 clinit每個類都有,自動生成 中文名類初始化方法 clinit方法由靜態類變數顯示賦值 和靜態 塊組成 類變數顯示賦值 和靜態 塊...

類初始化過程

class x class y public class z extends x public static void main string args a zyxxb zyxyc yxyzd xyzx解答 靜態變數 靜態 塊 main方法 非靜態變數 塊 構造方法 初始化過程 1.初始化父類中的靜...