複用類三
阿新 • • 發佈:2019-01-09
(九)初始化以及類的載入
(1)每個類的編譯程式碼都存在於它自己的獨立檔案中,該檔案只有在需要使用程式程式碼時才會被載入。
(2)當訪問static域或static方法時就會發生載入
繼承與初始化
/** * 繼承與初始化 1.main(一個static方法)-->載入器開始啟動找Beetle類的編譯程式碼(在名為Beetle.class的檔案中) * 2.載入過程中由extends得知它有一個基類,必定自動產生一個基類物件 3.若基類還有基類,則第二個基類就會被 * * 2019年1月3日 */ class Insect { private int i = 9; protected int j; Insect() { System.out.println("i=" + i + " j=" + j); j = 39; } private static int x1 = printInit("static Insect.x1 initialzed"); static int printInit(String s) { System.out.println(s); return 47; } void pre() { System.out.println(8); } } public class Beetle extends Insect { private int k = printInit("Beetle.k initialzed"); public Beetle() { System.out.println("k=" + k); System.out.println("j=" + j); } private static int x2 = printInit("static Beetlt.x2 initialzed"); public static void main(String[] args) { System.out.println("Beetle constructor"); Beetle b = new Beetle(); } }
結果為:
static Insect.x1 initialzed
static Beetlt.x2 initialzed
Beetle constructor
i=9 j=0
Beetle.k initialzed
k=47
j=39
轉載:
繼承關係
非繼承關係