使用static、default定义接口的普通方法。
所有子类必须覆盖接口中的全部抽象方法,那么在这种情况下,如果要在接口里定义抽象方法,代码改动太大了。
为了解决这一矛盾,所以从JDK1.8开始,允许在接口中使用default定义方法了。
此时这样的方法就不需要子类再进行强制性覆写了。子类现在如果有需要也可以进行方法的覆写。
但是此时有一个问题了,如果在子类被覆写的方法里面依然要调用父类的方法。那么不能够直接使用“super.方法()”了,加上接口名称:“接口.super.父接口方法()”。
利用default追加的方法可以实现对象调用,但是不想用对象调用,就想写一个static方法,最早的时候不可以,现在可以了。
clean();//内部类的方法,肯定可以调用,因为是类。
从此以后要定义公共方法就可以在接口中直接定义。
总结
接口增强就是增加了default定义方法的可能。但是这种方法依靠实例化对象调用;
接口中使用static定义的方法可以由接口名称直接调用。