为了账号安全,请及时绑定邮箱和手机立即绑定

子类不是继承了父类的方法了吗,为什么输出结果确实父类的?

子类不是继承了父类的方法了吗,为什么输出结果确实父类的?

qq_迷路蒲公英_0 2016-07-04 10:50:24
查看完整描述

10 回答

已采纳
?
dky

TA贡献93条经验 获得超26个赞

子类中的赋值改变不会对是父类的属性做修改,如果都可以这么改,派生定规则就没意义了

查看完整回答
1 反对 回复 2016-07-04
?
一抹笑清风

TA贡献3条经验 获得超4个赞

需要重写这个方法的

查看完整回答
3 反对 回复 2016-07-04
?
言燃

TA贡献2条经验 获得超1个赞

子类是继承了父类的方法,但子类中没有重写父类的方法,所以系统默认调用了父类的方法和属性。由于父类的属性没有赋初值,所以系统默认赋了null和0

查看完整回答
1 反对 回复 2016-07-05
?
乂言

TA贡献2条经验 获得超2个赞

你好,因为你并没有在各个子类中 重写 go()方法,所以在调用go()方法时,输出的结果是父类的!

查看完整回答
1 反对 回复 2016-07-04
  • qq_迷路蒲公英_0
    qq_迷路蒲公英_0
    是啊,我没重写方法就是要调用继承父类的方法啊,我在子类中已经重写了继承父类成员的值了,这样为什么不可以呢?
  • 乂言
    乂言
    你在子类中的是自己定义的值,并不是重写父类成员的值!你可以在父类中写个有参数的构造方法: public Triffic(int seat,String place,String name){ this.seat=seat; this.place=place; this.name=name; } 在两个子类中也分别写上构造方法: public Bus(){ super(seat,place,name);//调用父类的有参构造方法 } public Boat(){ super(seat,place,name);//调用父类的有参构造方法 } 你试试看吧!
?
慕粉3598658

TA贡献13条经验 获得超9个赞

新建一个子类的时候你把go方法重写一下才行。像你的这种用法,直接使用了父类Traffic的go()方法,在Traffic中变量place和name都没有初始化,所以都是null,你可以试一下把他们都赋值,然后就明白自己程序的问题了

查看完整回答
反对 回复 2016-07-05
?
XXshaoyu0

TA贡献1条经验 获得超0个赞

子类没有实现父类的方法

查看完整回答
反对 回复 2016-07-05
点击展开后面1
?
qq_匡璐_0

TA贡献96条经验 获得超96个赞

因为只有父类里有go方法

妄采纳

查看完整回答
反对 回复 2016-07-04
?
汉娜之眼

TA贡献42条经验 获得超27个赞

要输出就要在子类中重写父类类中的方法才行

查看完整回答
反对 回复 2016-07-04
  • 10 回答
  • 0 关注
  • 3730 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信