【发布时间】:2021-01-20 05:12:01
【问题描述】:
我很难理解,为什么下面这种情况下A类构造函数输出41,B类构造函数输出40
class AK {
AK(int i) {
System.out.println("Cstr of A " + i);
}
AK(){
System.out.println("Cstr of A()");
}
}
class BK extends AK {
BK(int i) {
super(i+1);
System.out.println("Cstr of B " + i);
}
BK(){
System.out.println("Cstr of B()");
}
}
class CK extends BK {
CK(int i) {
super(2 * i);
System.out.println("Cstr of C " + i);
}
}
class Main {
public static void main (String args[]) {
new CK(20);
}
}
输出:
A 41 的 Cstr
B 40 的 Cstr
C 20 的 cstr
【问题讨论】:
标签: java inheritance constructor super