new子类会先运行父类的构造函数

Posted THISISPAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了new子类会先运行父类的构造函数相关的知识,希望对你有一定的参考价值。

发现子类构造函数运行时,先运行了父类的构造函数。为什么呢?

原因:子类的所有构造函数中的第一行,其实都有一条隐身的语句super();

super(): 表示父类的构造函数,并会调用于参数相对应的父类中的构造函数。而super():是在调用父类中空参数的构造函数。

为什么子类对象初始化时,都需要调用父类中的函数?(为什么要在子类构造函数的第一行加入这个super()?)

因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程

以上是关于new子类会先运行父类的构造函数的主要内容,如果未能解决你的问题,请参考以下文章

子类为啥要调用父类的构造函数

子类都会首先调用父类的构造函数吗?

PHP子类能否继承父类的构造方法?

CGBTN2108-DAY08总结复习

CGBTN2109-DAY08复习总结

java中成员变量代码块构造函数运行顺序