Posted by lily's blog on September 20, 2024

继承

子类继承于父类时,子类构造器调用情况

  1. 子类调用构造器(是否会调用父类构造器)

    由于子类继承于父类,子类默认包含父类所有的类属性以及成员变量,如果子类初始化结束时没有初始化父类,那么在子类中引用父类的某些方法和属性时就会因为没有初始化父类而抛出异常。因此在初始化子类时会在子类构造器中默认调用父类构造器初始化父类。 如果在初始化子类之前先调用父类构造器初始化了,那么在初始化子类时还是会在默认构造器中调用父类构造器 总结:子类构造器中会隐式调用父类构造器

2.子类会隐式调用父类无参构造器,若父类中没有无参构造器则需要手动调用有参构造器,否则编译器会报错 ![[Pasted image 20240604143431.png]] ![[Pasted image 20240604143403.png]]显示调用 ![[Pasted image 20240604143511.png]]