默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法。
为什么会有默认方法?
假设没有默认方法这种机制,那么如果要为一个接口增加一个新的方法XXX,那么所有实现了接口的类,都需要做改动。但是引入了默认方法后,原来的类,不需要做任何改动,还能得到这个默认方法。
通过该手段,就能够很好的扩展新的类,并且做到不影响原来的类。
当实现类实现多个接口,接口中有相同的默认方法时,实现类需要重写默认方法。若默认方法只在其中一个接口中出现,则不用重写。
如果是实现多个接口同时这些接口中都实现了同样的默认方法,那么实现的子类必须要实现这个默认方法-因为不知道要选择哪个方法而只要默认方法只有一个那么就可以不用实现-比如AP实现了默认方法,AD没实现,那么两个都实现的子类也不用实现或者只实现了一个接口,那么子类也不用实现。
当子类中重写了默认的方法的时候,子类的实例化对象就会调用自身重写的默认的方法。
默认方法
最新推荐文章于 2023-06-22 21:52:42 发布