继承时的构造函数的的原则

       在日常开发中,我们一般都会存在class的继承,那对于继承,子类父类的构造顺序是什么样的那?自己总结了下,虽然很基础,还是记录下,作为以后的复习只用。


    继承时的构造原则:

1、如果子类没有定义构造函数,那子类就是调用父类的无参数的构造函数。


2、如果子类定义了构造函数,那么不管父类有没有定义构造函数,在创建子类对象时,首先会调用父类的无参数的构造函数,然后在调用子类自己的构造函数。


3、在创建一个子类对象时,如果子类没有显示调用父类的构造函数,那么就会首先调用父类的默认的无参的构造函数(其实和上面的2是一样的)。


4、在创建子类对象时,如果此时父类有自己书写了无参的构造函数,此时如果子类没有显示的调用父类的构造函数,那就就会首先调用父类自己书写的的无参的构造函数。


5、在创建子类对象时,如果父类只有有参的构造函数,子类没有显示的调用的父类的构造函数,则会出错。因为如果父类只有有参的构造函数,那么子类就必须显示调用父类有参的构造函数,


6、如果子类显示调用父类的有参构造函数,那么必须使用初始化列表形式进行初始化。

原文地址:https://www.cnblogs.com/huiz/p/9610672.html