Steve_swg 2017-03-08 08:15 采纳率: 66.7%
浏览 1210
已采纳

关于Java方法的重写和覆盖的代码问题

同一个包中,先编写父类fugai_bike,在里面构造一个public方法,然后再编写一个子类fugai_racingbike,在里面同样构造一个同名的public move方法。然后运行,方法会被覆盖。
然后我更改一下,在两个同名方法前加static,书上说这样方法不能被重写,理论上是再运行子类的方法还是会显示父类的方法输出。然而我运行之后,还是和没加static一样。
到底static有什么用呢?图片图片

  • 写回答

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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用