假设我们有以下定义:
public class Test {
public static void main(String[] args) {
System.out.println("------MAIN METHOD------");
A a = new B();
a.a = 3;
System.out.println(a.a);
}
}
public class A {
int a;
public void g(){
System.out.println(a);
}
}
public class B extends A {}
现在,假设我们构建上述内容,然后将 B 修改为
public class B {}
并重建 JUST B。当我们关闭验证器时,该方法会打印 3!我知道验证器没有发现这一点,reslution 在 A 中检查是否有字段 a,就是这种情况......但是 B 没有为整数字段 a 分配空间!那它写到哪里呢?