類的重寫與方法的過載
阿新 • • 發佈:2021-10-18
聯絡:
同名方法,都是多型性的體現。過載是編譯時多型,重寫是執行時多型。
重寫
子類對父類的方法進行重新編寫 (不滿意父類的方法)
要求:
-
兩者的方法名和引數列表相同
-
子類的訪問許可權大於等於父類的
-
子類的返回值型別小於等於父類的
public class Demo extends Object { protected String getString() { return "father"; } public Demo met() { System.out.println("123"); return new Demo(); } } class Son extends Demo { // 許可權修飾符:子>=父 public String getString() { return super.getString(); } // 返回型別:子<=父 @Override public Son met() { Demo met = super.met(); return new Son(); } }
過載
便於記憶( 以統一的方式處理不同資料型別)
-
過載判定:引數列表必須不同(引數個數、型別和順序)
-
無效判定:訪問修飾符、返回型別
比如:三者兩兩之間不構成過載
public void a() {
}
private void a() {
}
private int a() {
return 1;
}
沉舟側畔千帆過,病樹前頭萬木春。