习题static final void method (){}

习题static final void method (){}

static 后面 加 final 有什么意义 ?
父类 static 的静态方法 子类 不能继承 但可以通过父类访问 , 但是加final有何意义呢 ?

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

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

2回答
加文斯利 2017-08-26 11:35:55

刚才试验了一下,父类和子类分别定义同名的静态方法(就是子类里重写了这个静态方法),然后发现子类对象可以继承父类对象的静态方法,但是使用这个静态方法的时候输出的父类方法里的内容,相当于重写没有起到任何效果。所以重写父类静态方法,这件事情本身应该就是没有意义的,也就不用考虑final了。唯一的用处应该是防止子类里定义一个和父类里该静态方法同名的(静态)方法吧?

  • 是的,加了final以后,子类就不能有和父类同名的静态方法了。
    2017-08-27 11:05:27
好帮手慕雪 2017-05-06 11:12:02

你好,先更正一下你的说法父类 static 的静态方法子类是可以继承的。并且子类也是可以重写这个静态方法的。但如果要是加上final,子类依然可以继承但子类就不能重写这个方法了。祝:学习愉快

  • 提问者 慕运维2858188 #1
    确定 , 是可以继承 ; 但是应该不存在重写这个说法
    2017-05-06 14:27:26
  • 静态方法不是父类的,而是公共的。公共的东西子类无权重写吧?
    2017-08-26 11:21:09
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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