问答详情
源自:10-1 Java 中的多态

帮忙看一下哪里出问题了

578992b4000163b404630208.jpg

578992b50001e00404090200.jpg

578992b500011d0802100081.jpg

578992b60001754c04450334.jpg

为什么调用obj2.dos()还是和obj1.dos()结果一样呢?不应该显示巴士在地上行驶吗

提问者:世界那么大我想去走走 2016-07-16 09:51

个回答

  • 12v8
    2016-07-16 21:27:36
    已采纳

    bus类里的dos方法名称写错了,你写成does了

  • 张小合
    2016-07-16 11:05:17

    重写父类方法时 返回值类型 函数名 参数列表都要相同

  • 张小合
    2016-07-16 11:03:25

    我弄错了,应该是方法名错了,在Bus类的does方法名应改为dos,即public void does()要改为public  void dos()

  • 张小合
    2016-07-16 10:20:38

    Traffic obj2 = new Bus();//这行代码错了,原因:这里运用了向上转型,使子类的对象指向父类的方法,故结果是跟obj1的结果是一样的,应改为:Bus obj2 = new Bus();