1. メソッドのオーバーライドとは何ですか?
(1) 親クラスとサブクラス間のポリモーフィズム。親クラスの関数を再定義します。サブクラスで定義されたメソッドがその親クラスと同じ名前とパラメータを持つ場合、そのメソッドはオーバーライドされていると言います。 Java では、サブクラスは、同じメソッドを書き直すことなく、親クラスからメソッドを継承できます。
しかし、サブクラスが親クラスのメソッドを変更せずに継承するのではなく、メソッドの書き換えが必要となる特定の変更を加えたい場合もあります。
メソッドのオーバーライドは、メソッドの上書きとも呼ばれます。
(2) サブクラスのメソッドが親クラスのメソッドと同じメソッド名、戻り値の型、パラメータ リストを持つ場合、新しいメソッドは元のメソッドを上書きします。
親クラスの元のメソッドが必要な場合は、現在のクラスの親クラスを参照する super キーワードを使用できます。
(3) サブクラス関数のアクセス変更権限は、親クラスのアクセス変更権限より低くすることはできません;
以下は書き換えの例です:
概念: オブジェクトを呼び出すためのメカニズムメソッド。
2. メソッドをオーバーライドするためのルール
1. パラメータ リストはオーバーライドされたメソッドと完全に同じである必要があり、そうでない場合はオーバーライドとは言えません。過負荷です。
2. 戻り値の型は、オーバーライドされたメソッドの戻り値の型と常に同じでなければなりません。そうでない場合は、上書きとは言えず、オーバーロードと呼ばれます。
3. アクセス修飾子の制限は、オーバーライドされたメソッドのアクセス修飾子より大きくなければなりません (public>protected>default>private)
4. オーバーライドされたメソッドは、新しい Checked 例外をスローしてはなりません。オーバーライドされたメソッド宣言よりも広範囲のチェック例外。例:
親クラスのメソッドは、チェック例外 IOException を宣言します。このメソッドをオーバーライドする場合、例外をスローすることはできません。スローできるのは IOException のサブクラスの例外のみであり、チェックされていない例外はスローできます。
3. 書き換えとオーバーロードの違い
書き換えポリモーフィズムは機能し、オーバーロードされたメソッドを呼び出すときにコード入力の量を大幅に削減できます。異なるパラメータが渡される限り、異なる関数または戻り値が返されます。
書き換えとオーバーロードを上手に使うと、明確で簡潔な構造を持つクラスを設計できます。コードを書く過程において、書き換えとオーバーロードは非常に重要な役割を果たしていると言えます。
上記は、 for 皆さんがリライトの概要とメソッドのオーバーロードとの違いを簡単に説明しましたが、間違いがあれば批判して修正してください。
その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください: JAVA ビデオ チュートリアル
以上がJAVA でのメソッドの書き換えとオーバーロードとの違いについて詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。