Interface中可以有什么?
1、成员变量(常量)
[public] [static] [final] 数据类型 常量名称 = 数据值
其中,常量必须进行赋值,并且一旦赋值不能改变,常量名称完全大写,用下划线进行分隔。
2、抽象方法
[public] [abstract] 返回值类型 方法名称(参数列表)
注意:实现类必须重写接口中所有的抽象方法,除非实现类是抽象类。
3、从java8开始,接口中允许定义默认方法
[public] default 返回值类型 方法名称(参数列表){方法体}
其中,默认方法也可以被覆盖重写。
4、从java8开始,接口里允许定义静态方法
[public] static 返回值类型 方法名称(参数列表) {方法体}
5、在java9中,接口里允许定义私有方法
普通私有方法:private 返回值类型 方法名称(参数列表) {方法体}
静态私有方法:private static 返回值类型 方法名称(参数列表){方法体}