3

親クラスのメソッドをオーバーライドすると、この派生したオーバーライドされたメソッドはまだ親クラスのメソッドのコードを保持していますか、それとも定義できる新しい新しいメソッドですか?

4

2 に答える 2

7

この記事を読んで、概念を明確にしてください。http://docs.oracle.com/javase/tutorial/java/IandI/override.html

通常、スーパークラスのメソッドを拡張したい場合や、完全なロジックを変更したい場合に行います。

例:スーパークラスには、バブルソートを使用したソート方法があります。

派生クラスでは、同じメソッドを使用したいが、クイック ソートを実装したい。次に、オーバーライドを行います。

2番

最初にスーパー クラス メソッドを実行したい場合は、サブクラス オーバーライド メソッド ロジックを使用しますsuper.methodname()

質問の最後に、メソッドをオーバーライドし、スーパークラスメソッドと呼ばれていない場合super.method()、その新しいメソッドを意味するわけではありません。その意味は、すでにソートの例を説明しています。

于 2013-02-03T11:51:39.700 に答える
1

何が起こるかは、まさに注釈に書かれていることです。

メソッドをオーバーライドし、メソッドの親コードを実行する代わりに、現在のクラスのコードを実行します

于 2013-02-03T11:50:49.560 に答える