特点
- default方法可以有方法体
- 接口中的普通方法必须被实现类重写
- 默认方法可以不被实现类重写
作用
当我们进行业务扩展时,需要在接口中新增方法时:
如果新增的这个方法写成普通方法的话,那么需要在该接口所有的实现类中都重写这个方法;
如果新增的方法定义为default类型,就不需要在所有的实现类中全部重写该default方法,哪个实现类需要新增该方法,就在哪个实现类中进行实现,
注意点如下:
- 如果一个实现类只实现了一个接口,那么可以不用重写接口中的默认方法
- 如果一个实现类实现了多个接口,并且这些接口中有两个接口的默认方法是一样的,那么就必须在实现类中重写
方法调用
默认方法可以被接口实现对象直接调用,也可以被接口的实现类重写
相关文章:
http://t.csdn.cn/QqRhd