5-7的一些问题

5-7的一些问题

http://img1.sycdn.imooc.com//climg/5ce101780001c56405390121.jpg

1、如图所示,位置2处错误。解析里说:接口中定义的常量在定义时必须初始化。可是,老师,为什么要在接口中定义时必须对常量初始化?
2、在课程里,SmartWatch类没有重写接口类里的connection方法,在测试类里:INet net=new SmartWatch();后,竟然还能net.connection();这样去调用connection方法,老师,net可是指向智能手表类的,智能手表类又没有去重写connection类啊?
3、为什么在接口类里的静态方法static void stop(),没有给此方法加public?不加的情况下,默认是什么修饰符?
4、接口类里的静态方法有什么作用?
5、default void connection() 这个方法怎么去理解?
6、在接口类里写了default void connection()方法,在实现类里重写,为什么访问修饰符变成了public void connection()?并且,在方法体内自动生成一段代码:INet.super.connection();,此代码的作用是调用接口中的connection方法,但是老师直接写成INet.super.connection这怎么理解啊,之前没见过这种写法。

正在回答

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

2回答

同学你好

1、智能手表只实现了INet接口,哪里来的继承的方法呢?

http://img1.sycdn.imooc.com//climg/5ce68007000129d905870060.jpg

如果接口中没有default修饰,智能手表一定会实现INet接口的connection方法。

INet net=new SmartWatch();net.connection();

这里net调用的connection方法就是智能手表重写后的方法。

2、default在接口中,可以看做一个特殊的区别于修饰符的关键字。也就是说接口中的方法还是公共的,只是加上default后,可以不被实现它的类重写。

http://img1.sycdn.imooc.com//climg/5ce68097000189a704030084.jpg

3、INet.super.connection();

这种调用方式就是调用接口中default方法,这是java所规定的,同学记住即可,不用过多纠结~

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 鱼儿0001 提问者 #1
    好的,谢谢老师
    2019-05-24 14:24:54
好帮手慕珊 2019-05-19 18:05:47

1、有static修饰的常量,必须在定义的时候初始化,不只在接口中,普通类中也是一样的。如果不这么做,编译就会报错。

2、SmartWatch类重写了connection()方法呀,如下所示,同学说的是这个小节哪个时间点的代码呢?

http://img1.sycdn.imooc.com//climg/5ce1284c0001d65410750747.jpg

3、接口中的方法默认都是public的,所以不用加

4、接口中的静态方法和普通类中的静态方法作用一样,都可以通过类名调用。以前接口是没有静态和默认方法的,JDK8以后的版本中开始引入。具体是否需要接口静态方法,还是要看具体需求,不是必须的。

5、default void connection()这个是接口中的默认方法,按照视频中的介绍掌握它的使用就可以了

6、接口中的方法默认就是public的。老师在视频中写的就是INet.super.connection();这个调用在此处第一次出现,是调用接口默认方法的语法规则。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 鱼儿0001 #1
    老师,1、我问的第二个问题,肯定是在智能手表类里并没有去重写connection方法,而在测试类里INet net=new SmartWatch();net.connection();,老师,这里net调用的connection方法是智能手表隐藏继承的方法还是接口的方法。2、老师你说,接口中的方法默认就是public,那么default void connection(){}就没有public修饰啊,用的是default,怎么理解?3、我对INet.super.connection();这种调用接口的写法不理解,super是调用父类方法,而实现类和接口不是父子类,出现INet调用,这是调用静态成员方法才该使用的,所以不懂老师解释一下吧,谢谢!
    2019-05-23 16:29:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

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

在线咨询

领取优惠

免费试听

领取大纲

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