需求
子类构造时会调用父类构造函数,具体如何匹配?
解决
父类 | 子类 | 匹配 |
---|---|---|
null | null | 编译器默认生成 父类和子类的构造函数 |
null | 无参 或 带参 | 调用编译器生成的父类构造函数 |
无参 | 没有显式调用父类构造函数 | 隐式调用父类无参构造函数 |
带参 | 必须显式调用父类构造函数 | 显式调用,否则编译会报错 |
带参且都有默认值 | 不用显式调用父类构造函数 | 可以隐式调用父类有默认值的带参构造函数 |
无参或带参 | 只需要实现父类构造函数中的任何一个即可 | 没有显式调用的情况下,默认调用父类无参构造函数 |