0

Test类中,我B使用 new 关键字创建类的对象 - 在B那里调用类的构造函数:

class A{
    public A(){
        //initialization of fields
    }
}

class B extends A{
    public B(){
        super();
    }
}

class Test(){
    public static void main(String... s){
        B b=new B();
    }
}

这是否意味着每当调用特定类的构造函数时,都会在内存中创建该类的对象?

如果问题的答案是肯定的,那么在上面的例子中,当A使用 调用超类的构造函数时super(),它是否也会创建类的对象A

这个超类对象会与内存中的子类对象一起创建吗?

4

1 回答 1

2

构造函数不会“创建”对象实例,而是对其进行初始化new运算符创建 B的)新实例,调用的各种构造函数(本例中的B()和A())初始化B的新实例。

于 2013-06-23T19:12:01.990 回答