【Java基礎】java繼承中的構造方法
阿新 • • 發佈:2019-01-27
小編現在學習了一下繼承中的構造方法,覺得還是總結一下比較好。
【特點】
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、重寫方法不能使用被重寫方法更嚴格的訪問許可權
【例項二】
【總結】
這些都是基本的內容,整理一遍明白多了。