在Java集合接口中存在一些继承关系。例如,
Collection<T>
接口将扩展Iterable<T>
。
我查看了JDK中的源代码,发现基类中定义的一些方法在子类中被重复多次定义。例如:
Interable<T>
接口定义了一个方法Iterator<E> iterator();
但在接口Collection<E>
和List<T>
中也包含相同的方法。据我理解,由于继承用于减少重复,为什么我们要在子类中定义相同的方法呢?