【发布时间】:2015-12-01 00:35:48
【问题描述】:
为什么我们在 java 8 的接口中需要 Defender 方法,因为我们已经有了抽象类。我在互联网上找到了各种答案,例如:
添加外部功能
但是抽象类是用于部分抽象的,因为我们的接口实际上是一个纯抽象类,为什么它们是接口内的默认方法?
【问题讨论】:
-
@Siguza 这两者是同义词,而“默认”是官方的。
-
通常的答案(很容易找到)是他们需要向
Collection等接口添加方法;没有默认方法会破坏大量将实现collection但不会破坏新方法的第三方类。 -
@VGR 不是骗子,但一个答案解释得很好
标签: java