子类实例化会调用父类构造方法吗

2024-08-13 04:00:27 手机知识百科

当实例化子类时会递归调用父类中的构造方法 

是的

是的,当实例化子类时会递归调用父类中的构造方法。这是因为在Java中,对象的生命周期包括创建阶段,应用阶段,不可见阶段,不可达阶段,收集阶段和终结阶段。在创建阶段,系统会为对象分配存储空间,然后从超类到子类对static成员进行初始化,接着超类成员变量按顺序初始化,递归调用超类的构造方法,最后子类成员变量按顺序初始化,调用子类构造方法。子类不会继承父类的构造方法,但在实例化子类对象时,如果子类的构造器没有显示地调用超类的方法,则将自动调用超类默认构造器。如果超类没有不带参数的构造器,且子类的构造器中又没显示地调用超类其他构造器,则Java编译器将报告错误。

版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。