小编Gag*_*kut的帖子

A a = new B()在Java中到底是什么意思

我知道为什么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)

如果您还可以在此处解释用于存储对象的内存。

java object

2
推荐指数
1
解决办法
176
查看次数

标签 统计

java ×1

object ×1