我知道为什么a.get()返回20,这是因为动态绑定,因为B对象是在运行时创建的,所以它get()在类B中调用了
但是为什么要a.x打印10?
class A {
int x = 10;
int get() {
return x;
}
}
class B extends A {
int x = 20;
int get() {
return x;
}
}
class Main {
public static void main(String[] args) {
A a = new B();
System.out.println(a.get()); //20
System.out.println(a.x); //10
}
}
Run Code Online (Sandbox Code Playgroud)
如果您还可以在此处解释用于存储对象的内存。
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |