2012-04-05 38 views
3

我正在實施我自己的LinkedList。我有一個課程叫MyLinkedLlist,裏面MyLinkedList只有size()iterator()已經實施。 。再說我有一個抽象類,其中爲LinkedList我所有其他必要的功能抽象類原型爲:執行自己的LinkedList

public abstract class MyAbstractSequentialList implements List 

我不知道如果我需要實現我的抽象類中equals()方法或它已經對我實施因爲我繼承List

+0

當我寫「公共抽象類MyAbstractSequentialList實現列表」日蝕顯示一些方法,但不等於()。 – cyo 2012-04-05 06:01:36

+0

實際上編譯器如何說我是否需要或不實現equals()方法,因爲它取決於我? – cyo 2012-04-05 06:05:57

+0

當我沒有實現equals()方法時沒有錯誤。當我把它稱爲測試它的工作,但返回false應該不是結果 – cyo 2012-04-05 06:07:39

回答

5

列表是一個接口。所以,不會有任何默認的實現。如果需要,您可以選擇實施一個。請注意,如果您覆蓋等於,則還必須覆蓋散列碼。

1

列表是一個接口,equals()方法沒有在列表執行,因爲任何接口的所有方法應該是抽象的。

所以你必須在抽象類中實現等於()方法。如果沒有,你必須在擴展你的抽象類的任何子類中實現它。

1

List是一個接口,所以如果你想在自己的LinkedList所以你必須覆蓋手段實現equals()因爲沒有與如果要實現,那麼你必須實現它的方法以及接口契約來實現。