一.无参数构造方法
一个类中如果没有定义构造方法,默认有一个无参数构造方法,结构如下:
public Fire() {
super();
}
A.父类无参数构造方法中super();调用Object类中构造方法
B.子类无参数构造方法中super();调用父类中无参数构造方法
二.若子类调用本类构造方法,则不能直接调用父类构造方法(super();this();都必须放在有效代码第一行)
public FireZi() {
this(6);
//super();//有效代码第二行,无法调用父类无参数构造方法
System.out.println("子类无参数构造方法");
}
三. 如果子类构造方法没有调用本类构造方法,也没有指定调用父类构造方法,则默认调用父类无参构造方法
public class FireFu {
public FireFu() {
super();
System.out.println("父类无参数构造方法");
}}
public class FireZi extends FireFu{public FireZi() {
//this(6);
//super();//有效代码第二行,无法调用父类无参数构造方法
System.out.println("子类无参数构造方法");
}
/*public FireZi(int a) {
System.out.println("子类重载构造方法");
}
*/
public static void main(String[] args) {
new FireZi();
}
}
运行结果 :
父类无参数构造方法
子类无参数构造方法