1. 程式人生 > >複用類三

複用類三

(九)初始化以及類的載入

(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

轉載:
繼承關係
在這裡插入圖片描述非繼承關係 在這裡插入圖片描述