Java接口中的default(默认方法)

参考《Java核心技术卷1》第六章


Java的接口中有一种特殊的方法,叫做默认方法。


接口中的默认方法有以下特点:

  • default方法可以有方法体
  • 接口中的普通方法必须被实现类重写;默认方法可以不被实现类重写。

    这个特点在实践中的具体作用是:

        当我们进行业务扩展时,需要在接口中新增方法。如果新增的这个方法写成普通方法的话,那么需要在该接口所有的实现类中都重写这个方法。如果新增的方法定义为default类型,就不需要在所有的实现类中全部重写该default方法,哪个实现类需要新增该方法,就在哪个实现类中进行实现。


但是,需要注意在什么情况下,default的使用会受限

  • 如果一个实现类只实现了一个接口,那么可以不用重写接口中的默认方法

  • 如果一个实现类实现了多个接口,并且这些接口中有两个接口的默认方法是一样的,那么就必须在实现类中重写默认方法


  • 默认方法可以通过接口的实现对象直接调用,可以被接口的实现类重写

你可能感兴趣的:(JavaSE,java)