现在的位置: 首页 > 综合 > 正文

Effective Java 第 18 条:接口优于抽象类

2013年10月04日 ⁄ 综合 ⁄ 共 288字 ⁄ 字号 评论关闭

  Java程序设计语言提供了两种机制,可以用来定义允许多个实现的类型:接口和抽象类。这两种机制之间最明显的区别在于,抽象类允许包含某些方法的实现,接口则不允许。一个更为重要的区别在于,为了实现由抽象类定义的类型,类必须成为抽象类的一个子类。任何一个类,只要它定义了所有必要的方法,并且遵守通用约定,它就被允许实现一个接口,而不管这个类是处于类层次(class hierarchy)的哪个位置。因为Java只允许单继承,所以抽象类作为类型定义受到了极大的限制。

  • 现有的类可以很容易被更新,以实现新的接口。
  • 接口是定义mixin(混合类型)的理想选择

  • 接口允许我们构造非层次结构的类型框架


抱歉!评论已关闭.