物件導向-繼承中的面試題:程式碼塊

ZHOU_VIP發表於2017-06-01

/*
	看程式寫結果:
		A:一個類的靜態程式碼塊,構造程式碼塊,構造方法的執行流程
			靜態程式碼塊 > 構造程式碼塊 > 構造方法
		B:靜態的內容是隨著類的載入而載入
			靜態程式碼塊的內容會優先執行
		C:子類初始化之前先會進行父類的初始化
		
	結果是:
		靜態程式碼塊Fu
		靜態程式碼塊Zi
		構造程式碼塊Fu
		構造方法Fu
		構造程式碼塊Zi
		構造方法Zi
*/
class Fu {
	static {
		System.out.println("靜態程式碼塊Fu");
	}

	{
		System.out.println("構造程式碼塊Fu");
	}

	public Fu() {
		System.out.println("構造方法Fu");
	}
}

class Zi extends Fu {
	static {
		System.out.println("靜態程式碼塊Zi");
	}

	{
		System.out.println("構造程式碼塊Zi");
	}

	public Zi() {
		System.out.println("構造方法Zi");
	}
}

class ExtendsTest2 {
	public static void main(String[] args) {
		Zi z = new Zi();
	}
}
 




相關文章