接口的老特性:
- 没有构造方法
- 成员变量只能定义常量,默认三个关键字public static final
- 只能是抽象方法,默认两个关键字public abstract
接口的新特性:
jdk8
1.接口允许定义非抽象方法,需加入default关键字。为了解决接口升级的问题。默认是public。实现类可以重写,实现类不加default。
super.method():指父类的方法
接口.super.method():指接口的方法
2.接口允许定义静态方法(静态方法在接口中实现)。因为干脆全放开。
jdk9
接口允许定义私有方法。只允许在接口中使用。目的是提高代码复用性。定义的多个非抽象方法,有重复代码,为提高复用性,定义私有方法,只在本接口中使用,私有方法不写default。