谁能解释下面代码的输出?尝试在 B 类中扩展 A 类并从构造函数调用覆盖方法 goo() 和方法 foo()。
public class A {
public A() {
foo();
}
private void foo() { // Private function foo()
System.out.print("A::foo ");
goo();
}
public void goo() {
System.out.print("A::goo ");
}
}
public class B extends A {
public B() {
foo();
}
public void foo() {
System.out.print("B::foo ");
}
public void goo() {
System.out.print("B::goo ");
}
}
public class C {
public static void main(String[] args) {
A b = new B();
}
}
输出:A::foo B::goo B::foo
谢谢。