有的,子类中如果 调用父类 无参的构造方法, super(); 语句是可以省略
【以下回答由 GPT 生成】
执行B b = new B();
会输出以下内容:
a
bname
b
解释: - 首先,创建B对象时会先调用B类的构造方法。 - B类的构造方法B()
中首先调用了this("abc")
,即调用B类的另一个构造方法B(String name)
。 - 在B(String name)
构造方法中,会先输出bname
。 - 然后,回到B()
构造方法继续执行,输出b
。
此外,父类A的构造方法(无参构造方法A()
)会在B类的构造方法中默认调用,即在执行B()
构造方法之前,会隐式调用super()
。但是在这个例子中,我们在B类的构造方法中手动调用了this("abc")
,因此不会再默认调用父类的无参构造方法,而是直接调用B类自己的构造方法B(String name)
。