我正在阅读集合,以了解Javadocs中实现的层次结构。Collections
声明为public class Collections extendds Object
Collection<E>
声明为public interface Collection<E> extends Iterable<E>
AbstractCollection
声明为public abstract class AbstractCollection<E> implements Collection<E>
AbstractList
声明为public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>
我的问题是
1)Collections and Collection
之间是否有任何连接。我什么都没看到?
2)对extending Collections Class
类有什么需求,因为在AbstractList
类中实现的方法(例如AbstractList
)也可以在listIterator
中抽象,而实现类也可以实现这些方法?
最佳答案
类层次结构中没有关系。 Collections
只是一个充满实用程序方法的类,可以在Collection
类上使用。
对于想实现自己的AbstractList
类的人来说,List
只是一个很好的助手。扩展AbstractList
可以避免编写大量样板代码,因为您可以重复使用已经存在的代码。正如javadoc所说:
此类提供List的基本实现。
接口以最小化实现此接口所需的工作
由“随机访问”数据存储(例如数组)支持。