在Java 9+版本中,接口的内容可以有:
- 成员变量其实是常量,格式:
[public] [static] [final] 数据类型 常量名称 = 数据值;
注意:
- 常量必须进行赋值,而且一旦赋值不能改变。
- 常量名称完全大写,用下划线进行分隔。
- 接口中最重要的就是抽象方法,格式:
[public] [abstract] 返回值类型 方法名称(参数列表);
注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类是抽象类。
- 从Java 8开始,接口里允许定义默认方法。默认方法主要解决接口升级问题,当接口被大量实例化后,想要在接口中添加新功能,如果用抽象方法,那么原来的实现类都要重写。默认方法是解决这一问题的。格式:
[public] default 返回值类型 方法名称(参数列表) { 方法体 }
注意:调用方式是实现类点方法名,默认方法可以被覆盖重写
- 从Java 8开始,接口里允许定义静态法法。当默认方法中有大量重复内容时,格式:
[public] static 返回值类型 方法名称(参数列表) { 方法体 }
注意:调用方式应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法
- 从Java9开始,接口里允许定义私有格式,格式:
普通私有方法:private 返回值类型 方法名称(参数列表) { 方法体 }
静态私有方法:private static 返回值类型 方法名称(参数列表) { 方法体 }
注意:private的方法只有接口自己才能调用,不能被实现类或别人使用。