你好,我有一个关于继承的问题。在Java中,子类对象内部是否包含其超类的对象?
当JVM为子类对象分配空间时,是否会为超类字段/方法分配空间?谢谢。
例如:
class Bar {
public String field;
public Bar() {
this.field = "Bar";
}
}
class Foo extends Bar {
public String field;
public Foo() {
this.field = "Foo";
}
public void printFields() {
System.out.println("Base: " + super.field);
System.out.println("This: " + this.field);
}
}
在执行时,将会打印出 "Bar" 和 "Foo"。Java 在哪里分配空间来维护 "field" 的两个值?