1 当子类的构造函数需要显式调用父类的构造函数时,super()必须为构造函数中的第一条语句
2 super()中的参数可以与父类的构造函数的参数数目一直,若无父类的构造函数,super()无参数时会调用系统默认的无参构造函数
/**
* Created by liuyazhou on 2017/6/10.
*/
public class Base {
private String name;
public Base() {
System.out.println("Base Constructor");
}
public Base(String name) {
this.name = name;
System.out.println("this.name:" + this.name);
}
}
/*
public class Main extends Base{
public Main() {
super();
System.out.println("Main Constructor");
}
public static void main(String[] args) {
Base s = new Main();
System.out.println("Hello World!");
}
}
// Base Constructor
// Main Constructor
// Hello World!
*/
public class Main extends Base{
public Main() {
super("Tom");
System.out.println("Main Constructor");
}
public static void main(String[] args) {
Base s = new Main();
System.out.println("Hello World!");
}
}
//this.name:Tom
//Main Constructor
//Hello World!