關於Java多態的理解。

一個方法名,參數不一樣,這叫方法重載。(Overload)
ide

void foo(String str);
void foo(int number);

父類與子類有一樣的方法名和參數,這叫方法覆蓋。(Override)
code

class Parent {
    void foo() {
        System.out.println("Parent foo()");
    }
}
class Child extends Parent {
    void foo() {
        System.out.println("Child foo()");
    }
}

父類引用指向子類對象,調用方法時會調用子類的實現,而不是父類的實現,這叫多態。
對象

Parent instance = new Child();
instance.foo(); //==> Child foo()

我理解的多態與繼承體系有關,與方法覆蓋有關,與方法重載無關。繼承



做者:Intopass
連接:https://www.zhihu.com/question/30082151/answer/46688599
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。io

相關文章
相關標籤/搜索