扫码关注官方订阅号
http://stackoverflow.com/questions/4387419/why-does-arraylist-have-imp... 其实Java中还有很多类似的设计: HashSet,TreeSet 同时继承了AbstractSet和Set HashMap<K,V>,TreeMap 同时继承了 AbstractMap<K,V>和 Map<K,V>
假设……仅仅是假设……下面所说这种情况极难发生,但并不排除其可能性
因为框架需要,AbstractList 不再实现 List 接口,而是实现 NewList 接口,这个时候 ArrayList 仍然要实现 List 接口,而且需要从 AbstractList 继承以实现复用……现在发挥你的相像力……
这在相对成熟的 JDK 中几乎不会发生,但难免你自己写的代码里可能会发生这种事情。而 JDK 自己的代码,就是一个设计模式和开发的典范,所以……
PHP学习
技术支持
返回顶部
http://stackoverflow.com/questions/4387419/why-does-arraylist-have-imp...
其实Java中还有很多类似的设计:
HashSet,TreeSet 同时继承了AbstractSet和Set
HashMap<K,V>,TreeMap 同时继承了 AbstractMap<K,V>和 Map<K,V>
假设……仅仅是假设……下面所说这种情况极难发生,但并不排除其可能性
因为框架需要,AbstractList 不再实现 List 接口,而是实现 NewList 接口,这个时候 ArrayList 仍然要实现 List 接口,而且需要从 AbstractList 继承以实现复用……现在发挥你的相像力……
这在相对成熟的 JDK 中几乎不会发生,但难免你自己写的代码里可能会发生这种事情。而 JDK 自己的代码,就是一个设计模式和开发的典范,所以……