默认方法

本文探讨了JDK8中接口默认方法的引入,如何简化接口扩展,避免实现类修改,以及多接口下默认方法的重写规则。理解这一特性有助于提升代码的灵活性和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值