构造函数的执行顺序
结论:无参构造函数,继承的执行顺序:执行子类的实例化操作,不管子类变量位置什么顺序,先初始化子类变量赋值操作,然后调用子类无参构造函数(仅仅到函数名断点,并不继续执行方法体),然后去
调用基类的构造函数,首先不管位置如何,对基类的变量执行赋值操作,然后执行基类的构造函数。执行完毕后,回到子类(函数名断点位置),执行子类的构造函数方法体内容;
如果基类中有虚方法,并且基类的构造函数调用了虚方法,那么如果子类覆写,就执行子类的覆写方法体内容,再返回基类继续执行构造函数(而不在执行基类的虚方法)。执行完基类的构造函数后,
返回执行子类的构造函数。