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

解决方案 »

  1.   

    你是怎么看的?是看API文档说明,还是看源码?我看到源码是这样的:
    public class HashSet<E>
        extends AbstractSet<E>
        implements Set<E>, Cloneable, java.io.SerializableAPI文档是这样的:
    All Implemented Interfaces:
      Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>
    Direct Known Subclasses:
      JobStateReasons, LinkedHashSetpublic class HashSet<E>
      extends AbstractSet<E>
      implements Set<E>, Cloneable, Serializable
    都没发现你所说的情况。哦,我看的是JDK1.6的。
      

  2.   

    不好意思,我看JDK理解错了,它显示实现的接口“Iterable<E>, Collection<E>, Set<E>”这几个都是继承关系的。谢谢了