package demo.oo;
//自己调试调试
class Fu {
int num;
Fu() {
num = 10; //父类num
System.out.println("A fu run");
}
Fu(int x) {
System.out.println("B fu run..." + num);
}
}
class Zi extends Fu {
int num;
Zi() {
//super(); //调用的就是父类中的空参数的构造函数。 隐含存在
System.out.println("C zi run " + num);
}
Zi(int x) {
this();
//super(x);
//super(); // 隐含存在
System.out.println("D zi run " + num);
}
}
class ConstructorSuper {
public static void main(String[] args) {
new Zi(6);
}
}
/*
同时子类构造函数中如果使用this调用了本类构造函数时,
那么super就没有了,因为super和this都只能定义第一行。所以只能有一个。
但是可以保证的是,子类中肯定会有其他的构造函数访问父类的构造函数(此例是调用父类无参的构造函数)
*/