-1
試圖通過我面臨以下問題類型轉換問題與詮釋在Java
一個Java測試class A {
int f() { return 1; }
}
class B extends A {
int f() { return 2; }
}
class C extends B {
int f() { return 3; }
int test() {
return super.f() +
((A)this).f();
}
}
想不通爲什麼((A)this).f()
返回3而不是1?
這就是多態性是如何工作的。它調用基於實例類型的方法,而不是引用類型。 – Pshemo 2015-02-24 15:35:47