昨天班级有一个小测验,结果自己觉得还不错的错了好几道题,自己总结了一下,主要是子类继承父类时候构造方法的问题不太清楚,今天就总结一下。
1.子类会默认调用父类的无参构造方法
举例来看:
public class Derived extends Base {
public Derived (String s) {
System.out.println("这是子类的构造方法");
}
public static void main(String [] args) {
new Derived ("C");
}
}
class Base {
public Base() {
System.out.println("这是父类的构造方法");
}
}
上面这段代码结果如下图所示:
这证明了 子类的构造方法默认首先调用了父类的构造方法。
2.当父类中没有无参构造函数时,子类必须调用父类有参的构造函数,因为1已经证明了 子类默认调用父类的构造方法,如果父类中没有无参的构造函数,就会出现编译错误。
但是如果调用了父类的有参构造函数就没有错误了。
今天就到这里了 ,回宿舍了。