接口多继承,重名方法的重写问题

接口多继承,重名方法的重写问题

老师您好,请问A遵循IA、IB接口,IA、IB接口里面的都有default修饰的同名方法,A去重写这个方法的时候,必须加上defalut关键字吗?还是可有可无呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

defalut关键字是接口的专属

所以不能加

继承两个同名 default 方法的接口甚至是编译都不能通过

因为在调用同名方法时,根本不知道要调用哪个

所以

只能在 A 里重写一个和 IA IB default方法名字一样的方法

在调用的时候就是调用 A 里面的方法 

和 IA IB 半毛钱关系没有


提问者 有木有 2017-06-11 23:43:13

http://img1.sycdn.imooc.com/climg//593d65050001842915840648.jpg那这幅图怎么解释呢?

  • 这是一个接口 继承 多个接口 类是单继承 接口可以多继承 是接口 当然可以用这个 java8提供的新特性 default 但是类不能用 试一试便知
    2017-06-11 23:45:35
  • 提问者 有木有 回复 慕运维2858188 #2
    关于JDK8,我不是很理解,这个是能适配所有的安卓版本吗?比如说安卓2.0 ,3.0,4.0,5.0,6.0?还是所从安卓x.0版本后JDK开始使用JDK8呢? 这个是不是类似iOS中iOS的系统版本呢?比如说iOS10.0以上才支持这个API?
    2017-06-11 23:48:52
  • 回忆里小马甲 回复 提问者 有木有 #3
    Android Studio可以用JDK8,eclipse中的版本要求低一些。JDK8也是版本,和安卓SDK 的版本是一样的。
    2017-06-12 10:13:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师