定义
Java的接口中有一种特殊的方法,叫做默认方法。
接口中的默认方法有以下特点:
default方法可以有方法体。
接口中的普通方法必须被实现类重写;默认方法可以不被实现类重写。
作用
这个特点在实践中的具体作用是:
当我们进行业务扩展时,需要在接口中新增方法。如果新增的这个方法写成普通方法的话,那么需要在该接口所有的实现类中都重写这个方法。如果新增的方法定义为default类型,就不需要在所有的实现类中全部重写该default方法,哪个实现类需要新增该方法,就在哪个实现类中进行实现。
但是,需要注意在什么情况下,default的使用会受限
如果一个实现类只实现了一个接口,那么可以不用重写接口中的默认方法。
如果一个实现类实现了多个接口,并且这些接口中有两个接口的默认方法是一样的,那么就必须在实现类中重写默认方法。
默认方法可以通过接口的实现对象直接调用,可以被接口的实现类重写。
interface test{
default public void print() {
System.out.println("This is a interface with default");
}
}