接口扩展升级

jdk7以前:接口只能定义抽象方法

jdk8新特性: 接口中可以定义有方法体的接口.(默认是静态)

jdk9新特性: 接口中可以定义私有方法

作用:

主要是为了在接口中定义方法,实现接口不用重写该方法,不报错,等以后要用到再重写该方法

jdk8以后接口新增的方法:

允许在接口中定义默认方法,需要使用关键字default关键字修饰

作用:解决接口升级的问题

接口中默认方法的定义格式:

格式:public default 返回值类型 方法名(参数列表){ }

范例:public default void show(){ }

接口中默认方法的注意事项:

  • 默认方法不是抽象方法,所以不用强制被重写,重写的时候去掉default关键字
  • public可以省略,default不能省略
  • 如果实现多个接口,多个接口中存在相同名字的默认方法,子类就必须对该方法进行重写

接口应用与适配模式:

例如:

接口A有十个方法

当impA实现接口A就要重写接口A中的所有方法,但我此时我只需要重写第5个方法,怎么办

问题解决:

此时我们需要创建一个一个impA的类重写接口A中的所有方法,然后在创建一个impA1去继承impA类重写第5个方法即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值