0
  • オーバーロード - 同じクラス内の異なる署名を持つ同じメソッド。
  • オーバーライド - サブクラスでの同じメソッド シグネチャの異なる実装

親クラスにオーバーロードされたメソッドがある場合、子クラスはこの特定のメソッドをオーバーロードまたはオーバーライドしますか?

4

2 に答える 2

2

オーバーロードとオーバーライドは相互に排他的ではありません。

class Parent {
    void foo() {}
    void foo(int a) {}
    void bar() {}
}

class Child extends Parent {
    void foo() {} // overriding and overloading
    void foo(double b) {} // overloading
    void bar() {} // overriding
}
于 2012-06-13T18:16:38.297 に答える
0

実際には両方の理由:

  • オーバーライド - 親クラスのメソッドと同じメソッド シグネチャを持ちます。
  • オーバーロード - メソッド名は同じですが、親クラスとはシグネチャが異なります。
于 2012-06-13T18:18:32.743 に答える