接口笔记
在java9+中,接口内容可以有:
1.成员变量其实就是常量
[public][static][fianl]数据类型 常量名称=数据值
注意
常量必须赋值,且不可改变
常量名称大写,用下划线分离
2.接口中最重要的就是抽象方法
[public][abstract]返回值类型 方法名称(参数列表);
注意:
实现类必须覆盖重写所有抽象方法,除非实现类是抽象方法
3.从java8开始,接口允许定义静态方法
[public]static 返回值类型 方法名称 (参数列表){方法体}
注意
必须通过接口名称调用,不能通过实现类调用
4.java9开始,允许定义私有方法
普通私有方法:private static返回值类型 方法名称(参数列表){方法体}
静态私有方法:private static返回值类型 方法名称(参数列表){方法体}
5.从java8 允许定义默认方法
备注:为了解决接口升级问题,接口中新添加方法,实现类不需要修改
【public】default 返回值类型 方法名称(参数列表){方法体}
6.若类实现了两个接口,两个接口内抽象方法冲突了覆盖重写一次即可,而且必须覆盖重写若实现类没有实现接口中所有的抽象方法,那么实现类必须是一个抽象类
7.一个实现类中父类方法和接口方法冲突,那么优先使用父类方法(java中继承优先实现)
8.类与类之间是单继承的
类与接口之间可以多实现
接口与接口之间可以多继承
注意:
多个父接口中抽象方法冲突了没有关系
多个父接口中默认方法冲突了必须覆盖重写,而且还是默认的