我有以下2个班级
public class classA {
classA() {
System.out.println("A");
}
}
class classB extends classA {
classB() {
System.out.println("B");
}
}
Run Code Online (Sandbox Code Playgroud)
然后跑
classA c = new classB();
Run Code Online (Sandbox Code Playgroud)
要么
classB c = new classB();
Run Code Online (Sandbox Code Playgroud)
总是给
A
B
Run Code Online (Sandbox Code Playgroud)
为什么会这样?乍一看,在任何一种情况下,我都会假设只classB调用构造函数,因此唯一的输出就是
B
Run Code Online (Sandbox Code Playgroud)
但这显然是错误的.