使用接口的注意事项:
1、接口没有静态代码块或者构造方法
2、一个类的父类是唯一的,但是一个类可以同时实现多个接口(区别)
3、如果实现类实现多个接口有重名的抽象方法,那么实现类只需要覆盖重写一个即可
4、如果实现类没有覆盖重写所有接口的抽象方法,那么实现类必须是抽象类
5、如果事项类实现的多个接口中,存在重名的默认方法,那么实现类就必须覆盖重写该重名的默认方法
6、优先级问题:一个类的父类的方法和接口的默认方法产生冲突,那么该实现类(子类)优先使用父类的方法,也就是继承优先于实现
1、成员变量其实是常量,使用public static final修饰
格式
public static final 数据类型 常量名称 = 数据值;
注意:
*一旦赋值就不可以改变
*常量名称用大写字母,用下划线分割
2、接口中最重要的是抽象方法
格式:
public abstract 返回值类型 方法名称(参数列表);
注意:
*实现类必须覆盖重写所有的接口的抽象方法,除非实现类是抽象类
3、接口里允许定义默认方法
格式:
public default 返回值类型 方法名称(参数列表){
方法体
}
注意:
*默认方法也可以被实现类覆盖重写
4、允许定义静态方法
格式:
public static 返回值类型 方法名称(参数列表){
方法体
}
注意:
*要通过接口名进行调用,而不能通过实现类的对象调用接口静态方法
5、接口里允许定义私有方法,接口里可以使用,接口的实现类不可以使用
格式:
普通私有方法:
private 返回值类型 方法名称(参数列表){
方法体
}
静态私有方法:
private static 返回值类型 方法名称(参数列表){
方法体
}