【发布时间】:2014-09-28 17:20:59
【问题描述】:
我是 Java 新手,即将提出一个基本问题。希望你们能帮助我。假设我有一个基类 Super 和一个派生类 Sub,继承自 Super 类如下:
public class TestSuperSub {
public static void main(String[] args) {
Super ou = new Sub(5,10);
}
}
class Super {
Super() {
System.out.println("Super()");
}
Super(int x, int y) {
System.out.println("Super(int, int)");
}
}
class Sub extends Super {
public Sub(int x, int y) {
System.out.println("Sub(int, int)");
}
}
输出是
Super()
Sub(int, int)
我知道,您调用 Sub::Sub(int,int) ,因此打印了 Sub(int, int)。但是为什么 Super() 打印出来,因为 Super::Super() 从来没有被调用过?
谁能给我解释一下。 非常感谢! 干杯
【问题讨论】:
-
如果此问题得到解决,请选择一个答案以标记为已接受(绿色复选标记),您也可以为有帮助的答案投票。
标签: java oop inheritance constructor