new 一個沒有定義構造方法的子類對象,會調用父類的默認構造方法

如題:new 一個沒有構造方法的子類,會調用父類的無參構造方法。如下面的兩個類:
public class FatherClass {

	private  int age;

	public FatherClass(int age) {
		super();
		System.out.println("初始化值" + age);
	}
	
	public FatherClass(){
		System.out.println("FatherCalss");
	}
}
public class Subclass extends FatherClass {

	int a;
    boolean flag;
	String str;
	
}

public class Test {

	public static void main(String[] args) {
		Subclass subClass = new Subclass();
		System.out.println(subClass.a);
		System.out.println(subClass.flag);
		System.out.println(subClass.str);
        subClass.toString();
	}

}
以上三個類分別爲父類、子類、測試類。輸出結果如下:
FatherCalss
0
false
null

從結果可以看出,當子類沒有定義無參構造方法時,new一個該類的對象會調用其父類的無參構造方法。同時,還會初始化子類中的參數,int類型被初始化爲0,boolean類型的被初始化爲false,引用對象被初始化爲null。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章