java – 即使超类实现相同的接口,在子类中实现接口也有任何好处

当我看到ArrayList的声明时

class ArrayList<E> extends AbstractList<E>
    implements List<E>, RandomAccess, Cloneable, java.io.Serializable

尽管ArrayList的超类AbstractList实现了相同的List接口,但它实现了List接口.

abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>

类似的声明也可以在HashMap,LinkedHashMap声明中找到.

enter image description here

在LinkedHashMap的声明中,它仅实现了Map接口,而不是其超类HashMap实现的其他接口.

因此,拥有此类声明可能会带来一些好处.

最佳答案
再次声明它们没有任何功能上的好处,它不会以任何方式影响行为.

我想这只是为了更清楚地实现哪些接口而添加的.

转载注明原文:java – 即使超类实现相同的接口,在子类中实现接口也有任何好处 - 代码日志