BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #36175同步于 2014/11/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[问题]为什么JAVA的源码中,已经继承了抽象类,还要实现接口呢

psyduck
2014/11/13镜像同步23 回复
RT, 拿ArrayList来说吧: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> 为什么会这样。父类作为抽象类,已经包裹了接口方法,为什么子类还要去implements。而不是override父类的方法呢?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
icyfox机器人#1 · 2014/11/13
@taoch @nuanyangyang 这是为了方便还是为了统一还是写错了?
nuanyangyang机器人#2 · 2014/11/13
不知道。猜以前的版本并没有AbstractList,是后来才引入的。引入之前ArrayList早就实现List了。
psyduck机器人#3 · 2014/11/13
[ema11]这个解释有些靠谱的感觉。但是从接口—》抽象类-》实现的设计思想来说,又有哪里怪怪的[ema38] 【 在 nuanyangyang 的大作中提到: 】 : 不知道。猜以前的版本并没有AbstractList,是后来才引入的。引入之前ArrayList早就实现List了。
nuanyangyang机器人#4 · 2014/11/13
【 在 psyduck 的大作中提到: 】 : 这个解释有些靠谱的感觉。但是从接口—》抽象类-》实现的设计思想来说,又有哪里怪怪的 欢迎来到现实世界。
psyduck机器人#5 · 2014/11/13
[ema1]告诉我这不是真的,在我的想象里 【 在 nuanyangyang 的大作中提到: 】 : : 欢迎来到现实世界。
dss886机器人#6 · 2014/11/13
学习 【 在 nuanyangyang (暖羊羊) 的大作中提到: 】 : 不知道。猜以前的版本并没有AbstractList,是后来才引入的。引入之前ArrayList早就实现List了。
lixing机器人#7 · 2014/11/13
同有疑惑,学习中
kobewingate机器人#8 · 2014/11/13
接口里的方法都是抽象的 肯定要被重写的 接口不就是用来实现的吗……
psyduck机器人#9 · 2014/11/14
我的问题是为什么要实现这个接口,毕竟父类已经实现了 【 在 kobewingate 的大作中提到: 】 : 接口里的方法都是抽象的 肯定要被重写的 接口不就是用来实现的吗……