ホームページ >Java >&#&チュートリアル >メソッドのオーバーロードとオーバーライドの違いは何ですか?

メソッドのオーバーロードとオーバーライドの違いは何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-09 12:17:02551ブラウズ

What's the difference between method overloading and overriding?

メソッドのオーバーロードとオーバーライド

メソッドのオーバーロードとオーバーライドは、オブジェクト指向プログラミングにおける 2 つの異なる概念であり、共通点があります。クラス内のメソッドを再定義します。ただし、それらの目的と実装は大きく異なります。

メソッドのオーバーロード

メソッドのオーバーロードは、クラスが同じ名前で引数リストが異なる複数のメソッドを宣言するときに発生します。これにより、単一のメソッドが、指定された引数のタイプと数に基づいてさまざまなタスクを実行できるようになります。例:

public void foo(int a) { ... }
public void foo(int a, float b) { ... }

この例では、クラスは、受け取る引数の数が異なる 2 つのバージョンの foo メソッドを定義しています。 foo メソッドを呼び出すとき、コンパイラは渡された引数に基づいて呼び出すバージョンを決定します。

メソッドのオーバーライド

メソッドのオーバーライドには、サブクラス内で同じ引数リストを持つメソッド。オーバーロードとは異なり、オーバーライドは、子クラスが親クラスから継承したメソッドの独自の実装を提供する場合に発生します。これを行うには、子クラスは @Override アノテーションを使用して、既存のメソッドをオーバーライドしていることを示す必要があります。

class Parent {
    void foo(double d) { ... }
}

class Child extends Parent {

    @Override
    void foo(double d) { ... }
}

この例では、子クラスは親クラスから継承した foo メソッドをオーバーライドします。 Child クラスのインスタンスが foo メソッドを呼び出すと、Child クラスのオーバーライドされた実装が実行されます。

以上がメソッドのオーバーロードとオーバーライドの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。