class SuperClass {
private int n;
SuperClass() {
System.out.println("SuperClass()");
}
SuperClass(int n) {
this.n = n;
System.out.println("SuperClass(" + n + ")");
}
}
class SubClass extends SuperClass {
private int n;
SubClass(int n) {
// super(); //相当于有本语句
this.n = n;
System.out.println("SubClass(" + n +")");
}
SubClass() {
super(300); //对 super 的调用必须是构造函数中的第一个语句
System.out.println("SubClass()");
// super(300); //error
}
}
public class TestSuperSub {
public static void main(String[] args) {
SubClass sc1 = new SubClass();
SubClass sc2 = new SubClass(400);
}
}
运行结果:/********************************************
SuperClass(300)
SubClass()
SuperClass()
SubClass(400)
********************************************/