在Java语言中,抽象类和接口之间曾经有一个微妙但重要的区别:default implementations。抽象类可以拥有它们,接口则不能。然而,Java 8引入了接口的默认实现,这意味着这不再是接口和抽象类之间的关键区别。
那么是什么呢?
据我所知,唯一的区别(可能除了一些幕后的效率问题)是抽象类遵循传统的Java单继承,而接口可以有多继承(如果你愿意,也可以有多实现)。这就引出了另一个问题--
新的Java8接口如何避免diamond Problem
https://stackoverflow.com/questions/22591499
复制相似问题