1. 程式人生 > 其它 >類的重寫與方法的過載

類的重寫與方法的過載

聯絡:

同名方法,都是多型性的體現。過載是編譯時多型,重寫是執行時多型。

重寫

子類對父類的方法進行重新編寫 (不滿意父類的方法)

要求:

  1. 兩者的方法名和引數列表相同

  2. 子類的訪問許可權大於等於父類的

  3. 子類的返回值型別小於等於父類的

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();
    }
}

過載

便於記憶( 以統一的方式處理不同資料型別)

  1. 過載判定:引數列表必須不同(引數個數、型別和順序)

  2. 無效判定:訪問修飾符、返回型別

比如:三者兩兩之間不構成過載

public void a() {
}

private void a() {
}

private int a() {
    return 1;
}
沉舟側畔千帆過,病樹前頭萬木春。