Java8 接口可以提供默认实现了。那么接口可以相当于继承吗?

2019-06-24 11:18:42 +08:00
 ukipoi

现在再看《 Head First 设计模式》
把继承改成默认实现的接口,是否满足 少用继承 的原则?
我觉得默认实现的接口和继承好像没什么区别。

1646 次点击
所在节点    问与答
4 条回复
npdpx
2019-06-24 11:42:50 +08:00
主要是为了解决接口升级的问题。
liuxey
2019-06-24 11:47:13 +08:00
这样不就可以有多重继承了吗?

不过 Java 经历了这么多,一开始的设计者和现在的早已毫无关系,好用易用就行
SoloCompany
2019-06-24 12:06:37 +08:00
默认接口只能定义 method 不能定义 field,这一点上和多继承不能等同
Leammin
2019-06-24 20:05:26 +08:00
接口没有 field,所以不跟"少用继承"冲突。"少用继承"主要是因为继承破坏了类的封装性,而接口没有 field,因此不存在破坏封装性的情况。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/576847

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX