1. 程式人生 > >【Java基礎】java繼承中的構造方法

【Java基礎】java繼承中的構造方法

小編現在學習了一下繼承中的構造方法,覺得還是總結一下比較好。

特點

1、子類的構造的過程中必須呼叫其基類的構造方法。

2、子類可以在自己的構造方法中使用super(argument_list)呼叫基類的構造方法。

3、如果子類的構造方法中沒有顯示地呼叫基類構造方法,則系統預設呼叫基類無引數的構造方法。

使用this(argument_list)呼叫本類的另外的構造方法

如果呼叫super,必須寫在子類構造方法的第一行

4、如果子類構造方法中既沒有顯示呼叫基類構造方法,而基類中又沒有無參的構造方法,則編譯出錯。

【例項一】

class A{
	protected void print (String s){
		System.out.println(s);
	}
	A(){
		print("A()");
	}
	public void f(){
		print("A:f()");
	}
}
class B extends A {
	B(){
		print("B()");
	}
	public void f(){
		print("B:f()");
	}
	public static void main (String arg[]){
		B b = new B();
		b.f();
	}	
}

執行後的結果為:


執行步驟為:

1.執行main裡面的第一個方法 B b = new B();利用了特點3的規則,打印出A()、B()

2.執行第二個方法 b.f();利用了重寫,打印出B:f()

方法的重寫:

1、在子類中可以根據需要對從基類中繼承來的方法進行重寫

2、重寫方法必須和被重寫方法具有相同方法名稱、引數列表和返回型別

3、重寫方法不能使用被重寫方法更嚴格的訪問許可權

【例項二】



【總結】

這些都是基本的內容,整理一遍明白多了。