在Java中如何实现继承?例如,考虑一下:在Java中如何实现继承?
class A {
public void foo() {
System.out.print("A");
}
}
class B extends A {
...
}
class Test {
public static void main(String[] args) {
B test = new B();
test.foo(); // how is foo() called?
}
线下,将编译器只转储A.foo()的定义为B类的身体吗?像
class B extends A {
...
public void foo() {
System.out.print("A");
}
}
或者是foo以某种方式在A类中查找并在那里调用?
'B.foo()'不会首先编译,因为它不是一个静态方法。你的意思是'test.foo()'? (但不,编译器不会复制方法实现...) –
B.foo();根本不编译。 –
糟糕。我的意思是test.foo();检查更新的版本。 –