接口详解

接口详解


接口的概念

类是一种具体实现体,而接口定义了一种规范,接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心类里的实现细节,只规定了这批类里必须提供某些方法。

可见,接口不提供任何实现方法。接口体现的是规范和实现分离的哲学。

接口定义注意事项

  • 接口可以有多个直接父接口,支持多继承,但接口只能继承接口,不能继承类。
  • 接口里不能包含构造器和初始化块定义。接口里可以包含成员变量(只能是静态常量)、方法(只能是抽象实例方法、类方法或默认方法)、内部类(包括内部接口、枚举)。
  • 系统自动为接口里定义的成员变量增加public static final修饰符。

接口的使用

接口的主要用途:

  1. 定义变量,也可用于强制类型转换。
  2. 调用接口中定义的常量
  3. 被其他类实现

接口和抽象类

设计目的上的差别:
接口体现的是一种规范,是多个模块间的耦合标准。接口类似于整个系统的“总纲”,因此,接口不应该经常被改写。
抽象类则不一样,体现的是一种模板式设计。可以在后期更加完善。