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

为什么运行的结果是 0 而不是 4?

为什么运行的结果是 0 而不是 4?

huangguayutou 2016-04-30 19:38:40
以下代码是分在三个class文件的。贴到一起//创建一个Vehicle的父类public class Vehicle {int paasenger;}//创建一个Car的子类public class Car extends Vehicle {int passenger = 4;}//执行public class initial {public static void main(String[] args) {Vehicle obj1 = new Car();System.out.println(obj1.passenger);}}结果是4
查看完整描述

5 回答

?
Vogue_XL

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

子父类记住一点:成员变量看父类,方法看子类

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

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

还有。你分三个class,属性不是static类型的,能访问到吗,所以会是0

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

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

原来父类中的属性值默认为0,子类对象继承父类之后又重新覆盖了父类中属性的值,所以是4

查看完整回答
反对 回复 2016-04-30
?
什么什么青年欢乐多

TA贡献7条经验 获得超10个赞

这个是用父类的对象访问子类成员,且passenger由原来的0重新复制覆盖成4。

查看完整回答
反对 回复 2016-04-30
  • 5 回答
  • 0 关注
  • 1914 浏览

添加回答

举报

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