interface 接口名{
//属性
//方法(抽象方法,默认方法default,静态方法static)
}
class 类名 implements 接口{
自身属性
自身方法
必须实现的接口抽象方法
}
注意:
- 在jkd7.0前,接口里的方法都没有方法体,都是抽象方法
- jdk8.0后接口可以有静态方法,默认方法,也就是说接口中可以有具体的方法实现
细节:
- 接口不能被实例化
- 接口中所有的方发是public方法,接口中所有抽象方法,可以不用abstract修饰
void abmth(); 实际为 abstract void abmth();
- 一个普通类实现接口,必须将该接口的所有抽象方法都实现
- 抽象类实现接口,可以不用实现接口方法
- 一个类可以同时实现多个接口
- 接口中的属性只能是public static final修饰
int a = 1; 实际为 public static final int a = 1;
- 接口中属性的访问形式:接口名.属性名
- 接口不能继承其他类,但可以继承多个别的接口
- 接口的修饰符与类一样,只能为public和 默认
接口的多态:
- 可以用接口类型指向实现了该接口的类的对象
- 多态数组:接口类型的数组,可以存放实现了该接口的类的对象
- 接口存在多态传递现象:如果接口B实现了接口A,C类实现了接口B,则C类也实现了接口A