据说当我们自动创建子类的对象时,会创建其超类的对象。这是真的吗?

时间:2014-10-30 04:54:47

标签: java abstract-class subclass superclass

据说,当我们自动创建object sub-class objects时,super-classes的{​​{1}}即被创建。这是真的吗?如果是,那么如果超类是抽象类怎么办。

2 个答案:

答案 0 :(得分:2)

不,那不是真的。对象只有一种类型:您实例化的类。该对象还将包含超类的所有字段,并且可以在对象上调用超类的所有方法(尚未被覆盖),但它仍然只是一个对象。

例如,假设你有:

class A {
    int i;
}

class B extends A {
    int j;
}

如果您实例化new B(),则会获得一个对象,该对象具有两个字段ij的存储空间。

答案 1 :(得分:0)

超类的子类“is-A”实例,因此它不会创建不同的对象,您的子类实例 IS 是超类实例。