先看两个类的声明:AbstractList:
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> Vector:
public class Vector<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
问题:
AbstractList实现了List, Vector 继承了AbstractList, 但为什么Vector声明时还要实现List呢? 这样做有什么好处?
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> Vector:
public class Vector<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
问题:
AbstractList实现了List, Vector 继承了AbstractList, 但为什么Vector声明时还要实现List呢? 这样做有什么好处?
说明Vector有List的行为被
Vector.class.getInterfaces()会返回包含java.util.List的结果。
但是如果Vector没有直接声明实现List,getInterfaces()就不包含java.util.List。
可能是因为vector类老一点 sun为了不让它消亡让他实现了list接口
这样既保证了以前的程序没有问题,又让它有了新的功能吧
个人理解