在下面的代碼片段中,我明白子類中的super(t)顯式調用其超類(B類)中的無參數構造函數。我似乎有理解的問題是爲什麼子類必須調用超類中的無參數構造函數?我似乎無法解決這個問題的目的?爲什麼子類必須在超類中調用no args構造函數?
public class Test {
public static void main(String[] args) {
B b = new B(5);
}
}
class A extends B {
public A(int t) {
super(t);
System.out.println("A's constructor is invoked");
}
}
class B {
public B(int k) {
System.out.println("B's constructor is invoked");
}
}
只需在'B'中實現一個無參數構造函數,並將其打印到屏幕上。你會注意到,它不會被調用(在你的例子中)。 –