一、JDK8 中为什么有接口默认方法?
以前创建了一个接口,并且已经被大量的类实现。 如果需要再扩充这个接口的功能加新的方法,就会导致所有已经实现的子类需要重写这个方法。 如果在接口中使用默认方法就不会有这个问题。 所以从 JDK8 开始新加了接口默认方法,便于接口的扩展。
二、接口中默认方法的规则:
1.默认方法使用 default 关键字,一个接口中可以有多个默认方法。
2.接口中既可以定义抽象方法,又可以定义默认方法,默认方法不是抽象方法。
3.子类实现接口的时候,可以直接调用接口中的默认方法,即继承了接口中的默认方法。
4.接口中同时还可以定义静态方法,静态方法通过接口名调用。