引入
java当中没有多继承,一个子类只能有一个父类
但有时又需要多继承,所有有了接口
定义
接口与类是并列关系
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
接口的声明
[可见度] interface 接口名称 [extends 其他的接口名] {
// 声明变量
// 抽象方法
}
接口的实现
...implements 接口名称[, 其他接口名称, 其他接口名称..., ...] ...
特点
- 接口用 interface 实现
- 接口当中所有的成员变量都是 public static final 修饰I的
- 使用时可以省略
- public static final int A = 0;
- int A = 0
- 使用时可以省略
- 接口当中所有的方法都是抽象方法 public abstract
- 接口没有构造方法
- java中用类实现接口,实现接口的类必须是实现接口的方法
- 关系
- 类和类之间:继承
- 类和接口之间:类实现接口
- 接口和接口之间:可以继承,也可以多继承
- 与继承关系类似,接口之间也存在多态性