骨架实现与普通抽象类有何不同?

Joh*_*man 12 java interface class abstract

Effective Java中,Joshua Bloch更喜欢接口而不是抽象类.但是,他指出每个接口都应该有一个骨架实现.

我觉得骨架实现几乎与抽象类相同.这两个概念有何不同?

Tim*_*ote 6

重新阅读Effective Java中的上述部分后编辑

根据本书这一部分,骨架实现一个抽象类.他推荐这种方法,因为在骨架实现到位后,实现接口并有选择地覆盖方法变得微不足道,即使是匿名类(正如他在书中所做的那样).


以前的答案,略有编辑以保持连续性

从理论上讲,骨架实现可以是一个完整的实现,因此具体.然后它可以与组合一起使用,因为它可以被实例化.而抽象类需要继承.