新手求教一个final和static的问题

qq_34262119 2018-01-08 11:07:58
如果用final和static同时修饰父类的一个方法,那么子类为什么不能隐藏这个方法,报错提示是不能覆盖父类的final修饰方法,但是静态方法不是没有覆盖是隐藏吗?
...全文
373 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 yuxiangaaaaa 的回复:
[quote=引用 1 楼 yujikui1 的回复:] 隐藏是指子类拥有两个相同名字的方法,一个是继承自父类的,另一个是子类重载父类的,这并不影响重载,只是说法不同罢了。当你用super调用的时候执行的就是父类的方法呀。但是加上final之后,就明确规定了 final修饰的方法不能被重载,报错也很正常的嘛。
子类和父类之间同名方法叫“重写”。同一个类内部的同名方法,返回值或参数不同,叫方法“重载”[/quote]
引用 3 楼 yuxiangaaaaa 的回复:
[quote=引用 1 楼 yujikui1 的回复:] 隐藏是指子类拥有两个相同名字的方法,一个是继承自父类的,另一个是子类重载父类的,这并不影响重载,只是说法不同罢了。当你用super调用的时候执行的就是父类的方法呀。但是加上final之后,就明确规定了 final修饰的方法不能被重载,报错也很正常的嘛。
子类和父类之间同名方法叫“重写”。同一个类内部的同名方法,返回值或参数不同,叫方法“重载”[/quote] 尴尬了,写错了,,,,,是重写
  • 打赏
  • 举报
回复
隐藏是指子类拥有两个相同名字的方法,一个是继承自父类的,另一个是子类重载父类的,这并不影响重载,只是说法不同罢了。当你用super调用的时候执行的就是父类的方法呀。但是加上final之后,就明确规定了 final修饰的方法不能被重载,报错也很正常的嘛。
自由自在_Yu 2018-01-09
  • 打赏
  • 举报
回复
引用 1 楼 yujikui1 的回复:
隐藏是指子类拥有两个相同名字的方法,一个是继承自父类的,另一个是子类重载父类的,这并不影响重载,只是说法不同罢了。当你用super调用的时候执行的就是父类的方法呀。但是加上final之后,就明确规定了 final修饰的方法不能被重载,报错也很正常的嘛。
子类和父类之间同名方法叫“重写”。同一个类内部的同名方法,返回值或参数不同,叫方法“重载”
自由自在_Yu 2018-01-09
  • 打赏
  • 举报
回复
如果用final和static同时修饰父类的一个方法,那么子类为什么不能隐藏这个方法? final方法不能被覆盖,可被重载(方法名相同而参数不同); 静态方法不是没有覆盖是隐藏吗?--是的呀,静态方法没有被重写? 这个指的静态方法是没有final修饰的前提下,final修饰的时候,final这个单词的字面意思就是“最终的”,不能再做修改了。final修饰的变量也是不能再修改了。单纯的静态方法还是你说的那样,没有覆盖,只有隐藏

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧