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

以下代码是分在三个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

huangguayutou
浏览 1914回答 5
5回答

Vogue_XL

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

汉娜之眼

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

汉娜之眼

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

什么什么青年欢乐多

这个是用父类的对象访问子类成员,且passenger由原来的0重新复制覆盖成4。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java