Java中ArrayList的继承体系疑惑

Javautil包中,ArrayList的继承体系是实现List接口并且继承AbstractList(其它接口忽略), 但是其实在AbstractList中已经实现了List接口。 所以感觉这里在ArrayList中再次实现List`接口是不是多此一举了?或者还是有其它的设计目的?

阅读 5.2k
2 个回答

假设……仅仅是假设……下面所说这种情况极难发生,但并不排除其可能性

因为框架需要,AbstractList 不再实现 List 接口,而是实现 NewList 接口,这个时候 ArrayList 仍然要实现 List 接口,而且需要从 AbstractList 继承以实现复用……现在发挥你的相像力……

这在相对成熟的 JDK 中几乎不会发生,但难免你自己写的代码里可能会发生这种事情。而 JDK 自己的代码,就是一个设计模式和开发的典范,所以……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题