同一个包中,先编写父类fugai_bike,在里面构造一个public方法,然后再编写一个子类fugai_racingbike,在里面同样构造一个同名的public move方法。然后运行,方法会被覆盖。
然后我更改一下,在两个同名方法前加static,书上说这样方法不能被重写,理论上是再运行子类的方法还是会显示父类的方法输出。然而我运行之后,还是和没加static一样。
到底static有什么用呢?
关于Java方法的重写和覆盖的代码问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- threenewbee 2017-03-08 08:24关注
所谓覆盖,就是通过父类调用子类的实例方法,调用的是子类的代码,比如
class A { public void foo() { print("a"); } } class B extends A { @override public void foo() { print("b"); } } A a = new B(); b.foo(); //输出b而不是a
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报