【发布时间】:2019-12-26 02:10:52
【问题描述】:
我们有以下代码:
class Parent {
public int i = 5;
}
class Son extends Parent {
}
public class MyTest {
public static void main(String[] args){
**Son son = new Son();**
System.out.println(son.i);
}
}
当执行Son son = new Son()时,下面的问题让我很困惑:
- 是否会在内存中创建 Parent 实例?我知道在创建Son实例之前,会调用Parent不带参数的默认构造函数,正确调用构造函数和创建实例是不同的东西吗?
- 如果没有创建 Parent 实例,但 i 字段存储在 Son 实例中的什么位置?因为我们可以通过 son 参考获得 i 的价值?
非常感谢!!!
【问题讨论】:
-
这能回答你的问题吗? superclass storing a subclass
标签: java