子类的每个构造方法的第一行默认都会隐式的调用super父类的构造函数,默认调用无参构造
当父类中只有有参构造方法时,必须在子类的构造方法里实现一个父类中的有参构造方法。
例如:
父类
package com.Test;
public abstract class Parent {
public Parent(){
System.out.println(111111);
}
}
子类
package com.设计模式.Test;
public class Son extends Parent{
public Son() {
System.out.println(2222222);
}
public static void main(String[] args) {
Son son = new Son();
}
}
输出结果
当父类中只有有参构造方法时,必须在子类的构造方法里实现一个父类中的有参构造方法。
如图,父类中只在构造方法里加了一个参数
子类报错
在子类的构造方法里调用super();恢复正常
结果如图