1. 程式人生 > >java子類和父類的執行順序

java子類和父類的執行順序

 java中一個類首先是被載入到記憶體後,再去按順序執行類中的static完成初始化,在載入過程先是載入父類,在去載入子類。構建子類例項時,先建立父類的例項。執行構造方法時,先去初始化成員屬性。舉個例子說明下:

class Test {
	
	public static void main(String[] args) {
		new Sub();
		new Sub();
	}

}

class Super {
	public static int i=0;
	
	static {
		System.out.println(i);
	}
	
	public Super() {
		System.out.println("super"+i);
	}
}

class Sub extends Super{
	public static int t = 1;
	static {
		System.out.println(t);
	}
	public Sub() {
		System.out.println("test"+t);
	}
	
}
執行順序是
1.public static int i=0;
2.System.out.println(i);
3.public static int t = 1;
4.System.out.println(t);
5.System.out.println("test"+t);
6.System.out.println("super"+i);
執行結果
0
1
super0
test1
super0
test1