问题提出
父类的构造函数是不能被继承的,当然也就不能被重写了。 那么父类的无参构造函数是不是就没有意义了?为何推荐父类要写一个无参构造函数呢?
继承测初始化顺序
父类静态成员 -------> 子类静态成员 --------> 父类构造函数 ------->子类构造函数
问题解答
- 子类构造(无论是有参还是无参构造),默认调用的是父类的无参构造。
- 可以通过super来调用父类其他被允许访问的构造方法(必须放在子类构造方法中有效代码第一行)
- 如果父类去除无参构造,那么编译会报错。会从子类中报出父类的无参构造是没有被定义的。这也是为什么要求在父类无论有没有用,都建议写上无参构造。