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

来源:互联网 发布:书生有瘾炫浪网络社区 编辑:程序博客网 时间:2024/05/21 08:40

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

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

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


原创粉丝点击