在创建子类对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造为
1个回答
关注
展开全部
咨询记录 · 回答于2023-05-12
在创建子类对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造为
是的,当创建一个子类对象时,会优先调用继承自父类的无参构造函数,然后再执行子类自己的构造函数。这是因为在Java中,子类继承父类时会默认调用父类的无参构造函数,即使子类的构造函数没有显式调用父类构造函数,编译器也会自动在子类构造函数中加入super()来调用父类的无参构造函数。如果父类没有提供无参构造函数或者提供的无参构造函数不可见(比如被声明为private),则需要在子类构造函数中显式调用父类的有参构造函数或者其他可用的构造函数以完成子类对象的创建过程。要注意的是,当创建子类对象时,默认情况下会顺序执行构造函数中的语句,即先调用父类构造函数,再执行子类构造函数的语句。但是,如果在父类构造函数或子类构造函数中有显式的super或this调用语句,可能会改变执行顺序,需要小心处理。