可能重复:
为什么ArrayList有“implements List”?
我已经阅读了几篇文章I vs AC的区别以及关于何时使用接口和抽象类的SO问题。
当我遇到ArrayList Class时,ArrayList class继承AbstractList Class并实现List interface。 AbstractList和List具有共同的方法,如add(),remove()等。
编辑:换句话说,如果AbstractList实现List,为什么要让Arraylist类实现List?
在两者具有共同方法时,何时首选此种组合继承行为设计?
public class ArrayList<E> extends AbstractList<E>
implements List<E>
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>
。 - assylias