【问题标题】:Does calling a super constructor from subclasss constructor create object of superclass in memory?从子类构造函数调用超级构造函数是否会在内存中创建超类的对象?
【发布时间】:2013-06-20 05:49:51
【问题描述】:

Test 类中,我正在使用 new 关键字创建 B 类的对象 - 在那里调用 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();
    }
}

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

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

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

【问题讨论】:

  • 这是什么语言?爪哇?
  • 是的,它的 java 语言

标签: java object constructor super


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 2021-09-19
    相关资源
    最近更新 更多