为什么ArrayList有“实现List”?

时间:2010-12-08 12:29:57

标签: java collections

在Collection Framework中,我们有接口List和类AbstractList

AbstractList implements List

ArrayList延伸AbstractList

implements List

我的问题:为什么ArrayListimplements List条款?

如果ArrayList extends AbstractListAbstractList implements List,我们不能说ArrayList implement List

3 个答案:

答案 0 :(得分:41)

是。它可能已被省略。但因此可以立即看到它是List。否则,需要额外点击代码/文档。我认为这就是原因 - 清晰度。

并添加Joeri Hendrickx评论的内容 - 这是为了显示ArrayList实现List。整个图片中的AbstractList只是为了方便起见,减少了List实现之间的代码重复。

答案 1 :(得分:6)

这很可能是为了提高继承结构的可追溯性。这样,在浏览Javadoc等时,您不必关闭整个继承树。

答案 2 :(得分:6)

我的2美分是为了保持ArrayList 列表的事实。 AbstractList只完成List所需的某些实现。