ホームページ >Java >&#&ベース >Javaにおけるメソッドのオーバーロードとオーバーライドの違い

Javaにおけるメソッドのオーバーロードとオーバーライドの違い

王林
王林オリジナル
2019-11-12 14:50:255612ブラウズ

Javaにおけるメソッドのオーバーロードとオーバーライドの違い

Java でのメソッドのオーバーロードは、同じクラス内の 2 つ以上のメソッドのメソッド名は同じだがパラメータが異なる場合に発生します。対照的に、メソッドのオーバーライドとは、サブクラスが親クラスのメソッドを再定義することを意味します。メソッドのオーバーライドは、同じメソッド名、パラメータ リスト、戻り値の型を持つ必要があります。

オーバーロード

(1) メソッドのオーバーロードは、クラスがさまざまな種類のデータを統一された方法で処理するための手段です。パラメータ(型)の数が異なる、同じ名前の関数が複数同時に存在します。オーバーライドは、クラス内のポリモーフィズムの現れで​​す。

(2) Java メソッドのオーバーロードとは、名前は同じですが、パラメーターと定義が異なる複数のメソッドを 1 つのクラス内に作成できることを意味します。メソッドを呼び出すときは、異なる数のパラメーターとパラメーターの型を渡すことで、どのメソッドを使用するかを決定します。これがポリモーフィズムです。

(3) オーバーロードする場合、メソッド名は同じである必要がありますが、パラメータの型と数は異なり、戻り値の型は同じでも異なっていても構いません。戻り値の型は、オーバーロードされた関数を区別するための基準として使用できません。

書き換え(上書き)

(1) 親クラスとサブクラスのポリモーフィズム、親クラスの関数を再定義します。サブクラスで定義されたメソッドがその親クラスと同じ名前とパラメータを持つ場合、そのメソッドはオーバーライドされると言います。 Java では、サブクラスは親クラスのメソッドを継承できるため、同じメソッドを書き直す必要はありません。ただし、サブクラスが親クラスのメソッドを変更せずに継承するのではなく、特定の変更を加えたい場合があるため、メソッドの書き換えが使用されます。メソッドのオーバーライドは、メソッドの上書きとも呼ばれます。

(2) サブクラスのメソッドのメソッド名、戻り値の型、パラメータ リストが親クラスのメソッドと同じである場合、新しいメソッドは元のメソッドを上書きします。親クラスの元のメソッドが必要な場合は、rent クラスの親クラスを参照する super キーワードを使用できます。

(3) サブクラス関数のアクセス権は、親クラスのアクセス権よりも高くなります。

推奨チュートリアル: Java チュートリアル

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

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