use*_*839 17 java collections inheritance interface
Collection接口有多种方法.List接口扩展了Collection接口.它声明与Collection接口相同的方法?为什么会这样?
例如
interface Collection extends Iterable
{
public abstract int size();
public abstract boolean isEmpty();
public abstract boolean contains(java.lang.Object);
public abstract java.util.Iterator<E> iterator();
public abstract java.lang.Object[] toArray();
public abstract <T extends java/lang/Object> T[] toArray(T[]);
public abstract boolean add(E);
public abstract boolean remove(java.lang.Object);
public abstract boolean containsAll(java.util.Collection<?>);
public abstract boolean addAll(java.util.Collection<? extends E>);
public abstract boolean removeAll(java.util.Collection<?>);
public abstract boolean retainAll(java.util.Collection<?>);
public abstract void clear();
public abstract boolean equals(java.lang.Object);
public abstract int hashCode();
}
Run Code Online (Sandbox Code Playgroud)
List接口中也存在相同的方法:
public interface List extends Collection
{
public abstract int size();
public abstract boolean isEmpty();
public abstract boolean contains(java.lang.Object);
public abstract java.util.Iterator<E> iterator();
public abstract java.lang.Object[] toArray();
public abstract <T extends java/lang/Object> T[] toArray(T[]);
public abstract boolean add(E);
public abstract boolean remove(java.lang.Object);
public abstract boolean containsAll(java.util.Collection<?>);
public abstract boolean addAll(java.util.Collection<? extends E>);
public abstract boolean removeAll(java.util.Collection<?>);
public abstract boolean retainAll(java.util.Collection<?>);
public abstract void clear();
public abstract boolean equals(java.lang.Object);
public abstract int hashCode();
}
Run Code Online (Sandbox Code Playgroud)
如果已经扩展Collection接口,是否需要在List中再次编写这些方法?
JB *_*zet 28
它们被重写以便可以对它们进行记录,以便指定List如何与Collection接口中指定的契约相比改进这些方法的契约.
例如,记录add()方法List以指定将元素添加到列表的末尾.这不能在Collection中指定,因为Collection没有开头和结尾.
只是为了方便.
List接口在迭代器,add,remove,equals和hashCode方法的契约上放置了除Collection接口中指定的规则之外的其他规定.为方便起见,此处还包含其他继承方法的声明
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |