3

私は自分自身を実装していLinkedListます。MyLinkedLlist内部MyLinkedListのみsize()を呼び出しiterator()て実装されたクラスがあります。それに加えて、inに必要な他のすべての関数を含む1つの抽象クラスがありますLinkedList。抽象クラスのプロトタイプは次のとおりです。

public abstract class MyAbstractSequentialList implements List

抽象クラス内にメソッドを実装する必要があるのか​​、それともequals()継承しているためにすでに実装されているのListでしょうか。

4

3 に答える 3

5

リストはインターフェースです。したがって、デフォルトの実装はありません。必要に応じて、実装することを選択できます。equalsをオーバーライドする場合は、ハッシュコードもオーバーライドする必要があることに注意してください。

于 2012-04-05T05:52:02.587 に答える
1

Listはインターフェースであり、equals()はListに実装されていません。これは、どのインターフェースのすべてのメソッドも抽象である必要があるためです。

したがって、抽象クラスにequals()メソッドを実装する必要があります。そうでない場合は、abstractclassを拡張するサブクラスに実装する必要があります。

于 2012-04-05T05:52:29.257 に答える
1

Listはインターフェイスであるため、独自に実装する場合は、実装する手段とのコントラクトがあるため、LinkedList実装する手段をオーバーライドする必要があります。実装する場合は、そのメソッドも実装する必要があります。equals()

于 2013-05-31T04:27:28.647 に答える