使用接口的注意事项:
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 返回值类型 方法名称(参数列表){ 方法体}