java成员变量是输出子类还是输出父类的
时间: 2024-06-14 21:04:38 浏览: 132
Java中,成员变量的访问取决于引用变量的类型。如果引用变量是父类类型,那么访问的是父类的成员变量;如果引用变量是子类类型,那么访问的是子类的成员变量。
下面是一个示例代码来演示这个问题:
```java
class Parent {
int num = 10;
}
class Child extends Parent {
int num = 20;
}
public class Main {
public static void main(String[] args) {
Parent parent = new Parent();
Child child = new Child();
System.out.println("父类成员变量的值:" + parent.num); // 输出:10
System.out.println("子类成员变量的值:" + child.num); // 输出:20
Parent parent2 = new Child();
System.out.println("通过父类引用访问子类成员变量的值:" + parent2.num); // 输出:10
}
}
```
在上面的代码中,我们定义了一个父类`Parent`和一个子类`Child`,它们都有一个名为`num`的成员变量。在`Main`类的`main`方法中,我们创建了一个父类对象`parent`和一个子类对象`child`,分别输出它们的成员变量的值。然后,我们通过父类类型的引用变量`parent2`指向子类对象,并输出它的成员变量的值。可以看到,无论是通过父类对象还是通过子类对象访问成员变量,都会输出对应对象的成员变量的值。
阅读全文