接口包含内容
- 成员变量—>常量,格式:
public static final 数据类型 常量名称 = 数据值
注意事项:public static final
可以省略不写,因为编译时会自动添加上。- 不成文的规定 常量 必须大写
- 抽象方法【最重要】,格式:
public abstract 返回值类型 方法名称(参数列表);
注意事项:public abstract
可以省略不写,因为编译时会自动添加上。- 实现类必须重写该接口所有抽象方法,除非实现类是一个抽象类
- 默认方法,格式:
public default 返回值类型 方法名称(参数列表) {方法体}
注意事项:- 默认方法可以被覆盖重写,也可以不必。(大可不必)
public
可以省略不写,因为编译时会自动添加上。- 这是JDK8.0更新的新内容,要想使用必须下载JDK8.0以上的版本。
- 静态方法,格式:
public static 返回值类型方法名称(参数列表) {方法体}
注意事项:public
可以省略不写,因为编译时会自动添加上。- 应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法。格式:
接口名称.静态方法名称
- 这是JDK8.0更新的新内容,要想使用必须下载JDK8.0以上的版本。
- 私有方法,格式:
普通私有方法:private 返回值类型 方法名称(参数列表) {方法体}
静态私有方法:private static 返回值类型 方法名称(参数列表) {方法体}
注意事项:- private的方法只有接口自己才能调用,不能被实现类或别人使用。换句话说,只能被自己的默认方法和静态方法里面的方法体进行调用。
- 这是JDK9.0更新的新内容,要想使用必须下载JDK9.0以上的版本。
多继承接口过程中注意事项
- 接口是没有静态代码块或者构造方法的。
- 一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。格式:
public class A implements B,C { //覆盖重写所有抽象方法 }
- 如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。
- 如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。
- 如果实现类所实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写。
- 一个类如果直接父类当中的方法,和接口当中的默认方法产生了冲突,优先用父类当中的方法。