0

我正在阅读集合以查看 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。我什么都没看到extending Collections Class

2)类的需要是什么,因为类AbstractList中实现的方法也可以抽象,实现类也可以实现这样的方法?AbstractListlistIteratorList Interface

4

2 回答 2

6
  1. 类层次结构中没有关系。 Collections只是一个充满实用方法的类,可以在Collection类上使用。

  2. AbstractList对于想要实现自己的List类的人来说,它只是一个很好的帮手。扩展AbstractList使您免于编写大量样板代码,因为您可以重用已经存在的代码。正如javadoc所说:

    此类提供 List 接口的骨架实现,以最大限度地减少实现此接口所需的工作,该接口由“随机访问”数据存储(例如数组)支持。

于 2013-10-01T18:09:17.333 回答
1

通过在相关的“真实”类的名称中添加 s 来命名实用程序类(包含所有或主要是静态方法的类)有一个非正式的约定。例如,Google Guava 库有实用类 Booleans、Bytes、ByteStreams、Callables、Floats ......

于 2013-10-01T18:31:24.940 回答