在Java中,抽象类和接口之间曾经存在微妙但重要的区别:默认实现.抽象类可以拥有它们,接口却不能.Java 8虽然引入了接口的默认实现,但这意味着这不再是接口和抽象类之间的关键区别.
那是什么?
尽我所知,唯一剩下的差异(除了可能是引擎效率之外的东西)是抽象类遵循传统的Java单继承,而接口可以有多重继承(或者如果你愿意,可以有多个实现).这引出了另一个问题 -
新的Java 8接口如何避免钻石问题?
java abstract-class interface diamond-problem java-8
abstract-class ×1
diamond-problem ×1
interface ×1
java ×1
java-8 ×1