3 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
1,子類實例化時只會調用一次父類的構造函數(shù),這是語言規(guī)范;
2,你只能在子類構造函數(shù)中調用父類構造函數(shù);
3,super() 表示顯示調用父類的構造函數(shù),該方法主要是用于調用有參的父類構造函數(shù),如果父類具有無參的構造函數(shù),編譯器會自動調用該無參構造函數(shù),而不用你使用 super() 語句顯示調用;

TA貢獻1780條經(jīng)驗 獲得超5個贊
因為你顯示調用了父類的無參構造 super(); 當顯示調用無參構造函數(shù)時 該函數(shù)執(zhí)行一次
class A {
A() {
System.out.printf("A\n");
}
}
class B extends A {
B() {
System.out.printf("B\n");
}
}
若不使用 super(); 顯示調用的話 結果也是一樣的

TA貢獻1847條經(jīng)驗 獲得超7個贊
super(),沒看到這個方法。
你在初始化B b=new B();
執(zhí)行順序是:先初始化基類A的構造函數(shù),然后再執(zhí)行B的構造函數(shù)。當然就執(zhí)行
System.out.printf("A\n");然后
System.out.printf("B\n");
- 3 回答
- 0 關注
- 265 瀏覽
添加回答
舉報