为什么在其他方法中无法通过 接口名.super.默认方法名() 调用接口的默认方法

为什么在其他方法中无法通过 接口名.super.默认方法名() 调用接口的默认方法

报错为:在作用域中无法访问类型为iphoto的封闭实例

正在回答

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

1回答

同学,你好!你说的其他方法中,是指哪个呢,老师例子中connection()以外的方法吗?这个其他方法所在的类实现接口了吗?建议同学将代码贴出来,我们根据代码排查一下问题。代码要贴到回答里,不要贴到回复里,否则会失去格式。

祝学习愉快!

  • 焱羿 提问者 #1
    我是指在没有implements 该接口的类下的方法 我试过可以用 接口名.静态方法名() 访问接口中的静态方法//不论有没有导入静态方法的接口 但是默认方法的这个格式就会报错:No enclosing instance of the type IPhoto is accessible in scope
    2019-08-23 13:49:35
  • 焱羿 提问者 #2
    这一节视频中 SmartWatch类中可以通过 INet.super.connection()访问默认方法 但是 没有导入INet的其他类中中方法就不可以
    2019-08-23 13:57:27
  • 好帮手慕珊 回复 提问者 焱羿 #3
    同学,你好!我试了一下,如果类没有实现INet接口,是不能调用 INet.super.connection()这个方法的,你是指的这个问题吧。这个是要实现INet接口才可以,否认就会出现你说的错误。这个是它的语法规则。祝学习愉快!
    2019-08-23 17:26:10
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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