java:接口interface
接口使用注意事项:
1:接口不能直接使用,必须有一个实现类来实现接口
2:接口的实现类必须覆盖重写接口的所有抽象方法,如果没有,那么这个实现类就必须是抽象类
3:接口里的方法只有声明,没有方法的具体实现。
接口中的默认方法:
接口的实现类必须覆盖重写接口中的所有抽象方法,但是接口中有默认方法(default)时,接口的实现类不用覆盖重写
1:接口的默认方法,可以通过接口的实现类世界调用
2:接口的默认方法,可以被接口的实现类进行覆盖重写
接口中的常量:
1:接口中的常量,用public static final修饰,可以省略,但还是存在
2:必须赋值
3:常量名称,一般用大写字母
在java 9+的版本中,java的接口有以下内容:
1:成员变量就是常量,格式:public static final 修饰,
注意:常量必须赋值,常量名称完全大写
2:接口中最重要的就是抽象方法:
[public] [abstract]f返回值类型f方法名 (参数);
注意:实现类必须覆盖重写接口中的所有抽象方法,除非实现类时抽象类
3:从java 8开始,接口里可以定义默认方法:
[public] defaultf 返回值类型 方法名(参数){方法体}
注意:默认方法也可以被覆盖重写
4:从java 8开始,接口楼可以定义静态方法
[public] static 返回值类型 方法名(参数){方法体}
注意:静态方法应该通过方法名直接进行调用
5:从java 9开始,接口里允许定义私有方法
普通私有方法:private 返回值类型 方法名(参数){方法体}
静态私有方法:private static 返回值类型 方法名(参数){方法体}
注意:接口中的私有方法,只有接口自己能调用
使用接口的注意事项:
1:接口中没有静态代码块和构造方法
2:一个类只有一个父类,但接口可以有多个
3:如果实现类所实现的多个接口中,存在重复的抽象方法,只需要覆盖重写一次
4:如果实现类没有覆盖重写所欲哦抽象方法,那么实现类就是抽象类
5:如果实现类所实现的多个接口中,存在冲突的默认方法,也要进行覆盖重写
6:一个实现类的父类中的方法和接口中的方法重名时,优先使用父类中的方法