原来这就是Java中的接口(Interface),小白也搞懂了 ②

该块部分内容与java学习总结--接口(Interface)①相连接

补充

针对多接口中重名默认方法的处理办法。


在java中,一个类可以实现多个接口,只要在接口名后面“,”相分隔开就可以实现相关功能。

场景:现在的新款手表不仅可以上网,同时还可以实现拍照的功能。那么我们需要将拍照功能的接口嵌入到只能手表这个类中。完成对接口方法的重写

我们知道,在接口INet中,已经存在上网功能方法connection() 了,那么如果此时在接口IPhoto中我们也增加一个上网功能的方法,会发生什么么?

此时就会看到,在我们的实现类,SmartPhone中,就会产生错误信息,

程序在面对IPhoto和INet的重名connection,不知道该去实现哪一个了???

解决办法:在实现类中重写编写一个connection方法。

在测试类中,我们可以更直观的看到,它调用的是我么你重写的connection方法:


新问题

那么新的问题又来了?如果三代手机📱,INet接口,IPhoto接口都存在connection方法,此时在第四代手机中,会产生什么样的效果?四代手机还会分辨标识不同的connection方法么?

我们可以看到,默认指向父类的方法,调用的是来自父类派生的connection方法

当然,我们也可以重写四代手机中的connection方法,并且输出的是重写后的方法!


总结

大家就需要注意到,当一个类实现多个接口,而接口中存在同名的默认方法时,对于实现类而言,必须从写一个满足自己特征的方法,如果该类继承自一个父类,那么默认情况,调用的是父类的同名方法。

 

👺👺:这是Java接口学习总结 一

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值