关于static

关于static

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

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

老师不是说实现类中不能重写静态方法吗,为什么没报错啊


正在回答 回答被采纳积分+1

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

3回答
好帮手慕酷酷 2019-08-23 11:35:11

同学你好,你的理解是正确的。

1、这里添加@Override注解,是为了判断是否是父类中所有的并继承的,如果没有继承则会报错。并不是没写注解,另外,在进行测试是否可以重写静态方法时,要与父类的方法完全一样,所以要在子类的run方法添加上static关键字。

2、子类添加static关键字是不会报错的,因为在这里的java会认为它是同学自己定义的run()方法。

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

好帮手慕酷酷 2019-08-22 18:49:42

同学你好,楼上的同学回答的很对哦~实现类的这个静态run方法并没有重写哦~这个run方法是同学在实现类中自己定义的哦~我们可以尝试在方法上添加@Override注解,@Override注解的作用可以判断该方法是否被重写哦~

我们可以看到添加@Override注解后报错,并没有重写哦~具体代码如下:

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

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

  • 提问者 慕沐2093547 #1
    意思是在接口中如果方法明一样,没注解意思是自己定义吗,在继承中才是重写
    2019-08-22 18:53:26
  • 提问者 慕沐2093547 #2
    意思是在接口中如果方法明一样,没注解意思是自己定义吗,在继承中才是重写
    2019-08-22 18:53:29
  • BraveSong灬 回复 提问者 慕沐2093547 #3
    你写这个方法就不是重写接口里是静态有静态修饰,你写的都没有静态修饰怎么可能构成重写条件,你加上静态修饰应该就报错了
    2019-08-22 19:11:28
BraveSong灬 2019-08-22 18:25:52

你这不是重写,这是这个类的自己方法了,你可以在方法上加元注解@verride如果不抱错才是重写的方法

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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