关于字段继承,我有一个问题。 让我们假设以下类:
class SuperClass {
public String field = "SuperClass";
}
class SubClass extends SuperClass {
public String field = "SubClass";
}
现在,在main方法中,我运行以下代码:
SubClass instance = new SubClass();
System.out.println(instance.field); // SubClass
SuperClass referenceToInstance = instance;
System.out.println(referenceToInstance.field); // Superclass
由于两个引用都指向同一个对象,这使我产生了疑问:如何存储对象变量?
假设我定义了100个子类的迭代,每个子类中都声明了一个称为“ field”的字段。当我创建最深子类的实例时,这是否在创建对象时就已经为100个版本的“字段”分配了内存,还是仅在我用相应的特定引用引用对象之后才创建“字段”的特定版本?