gpt4 book ai didi

java - 对继承感到困惑,有人可以帮助我吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:46:16 24 4
gpt4 key购买 nike

<分区>

Java 代码

public class A {
int x;

public A() {
x = 0;
}

public void print() {
System.out.println("This is A");
}
}

public class B extends A {
int x;

public B() {
x = 1;
}

public void print() {
System.out.println("This is B");
}
}

B b = new B();
A a = b;

System.out.print(a.x);---------------->0
a.print();---------------->This is B

我很困惑。我为 B 类创建对象 b,虽然我将 b 分配给 a,但我认为 b 仍应指向 B 类。为什么“a.x”将返回 0 而不是 1?为什么a.x指向A中的x,而a.print()指向B中的print()方法?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com