Java8中的接口内容
1. 接口中的成员变量其实是常量,常量不能发生改变
[public] [static] [final] 类型 常量名 = value;
【注意】 1. 三个修饰的关键字可是省略,但是省略后还是这样。2. 必须初始化赋值,一旦赋值不能改变。3. 名称用大写和下划线
2. 抽象方法。
[public] [abstract] 返回值类型 方法名(参数列表);
【注意】实现类必须覆盖重写接口中所有抽象方法,除非实现类是抽象类。
3. 从Java 8开始,接口里允许定义默认方法
[public] default 返回值类型 方法名(参数列表) {
}
【注意】默认方法用于接口升级,而且也可以被覆盖重写override
4. 从java 8开始,接口里允许定义静态方法。
[public] static 返回值类型 方法名(参数列表) {
}
【注意】应该通过接口名称来调用,不能通过接口实现类方法来调用接口实现类方法。
接口的注意事项
- 接口中不能有静态代码块和构造方法。
- 一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。【可实现多接口】
格式:
public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB,..., MyInterfaceN{
}
- 如果实现类所实现的多个接口当中,存在多个重复的抽象方法,那么只需要覆盖重写一次即可。【方法重名】
- 如果实现类没有override所有接口中的所有抽象方法,那么实现类就必须是一个抽象类。【抽象类】
- 如果实现类所实现的多个接口当中,存在多个重复的默认方法,那么实现类一定要对冲突的实现方法进行override。
- 一个类如果直接父类当中和接口当中的默认方法产生了冲突,优先父类当中的方法。【默认方法】