日期:2014-05-19  浏览次数:20662 次

一个关于实现多个接口的奇怪问题
今天在看Java编程思想,看到容器类Collection和它的子类。
在看JDK时发现HashSet实现了Collection接口,又实现的Set接口,看源码也是一样的。
奇怪的是Set接口已经继承了Collection接口,为什么HashSet还要实现Collection接口,这不是多于的吗?
难道Sun的工程师不小心多敲了几个代码????

------解决方案--------------------
你是怎么看的?是看API文档说明,还是看源码?

我看到源码是这样的:
public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, java.io.Serializable

API文档是这样的:
All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>
Direct Known Subclasses:
JobStateReasons, LinkedHashSet

public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, Serializable


都没发现你所说的情况。

哦,我看的是JDK1.6的。