我正在实施自己的LinkedList
。我有一个调用MyLinkedLlist
的课程,MyLinkedList
内size()
和iterator()
已经实施。除了我有一个抽象类,其中我LinkedList
所有其他必要的函数。抽象类原型是:
public abstract class MyAbstractSequentialList implements List
我想知道我是否需要在抽象类中实现equals()
方法,或者因为我继承List
而已经为我实现了这个方法?
答案 0 :(得分:5)
列表是一个界面。因此,不会有任何默认实现。如果需要,您可以选择实施一个。请注意,如果重写equals,则还必须覆盖hashcode。
答案 1 :(得分:1)
列表是一个界面,而列表中未实现等于(),因为任何界面中的所有方法都应该是抽象的。
因此,您必须在抽象类中实现 equals()方法。如果没有,你必须在扩展你的abstractclass的任何子类中实现它。
答案 2 :(得分:1)
List
是一个接口,所以如果你想在自己的LinkedList
中实现,那么你必须覆盖意味着实现equals()
,因为如果你正在实现接口的合同那么你有也实现了它的方法。