這就是我想要做的事:的Java:調用從第二派生類的基類方法
class A {
void myMethod() {
// execute A
}
}
class B extends A {
void myMethod() {
// execute B
}
}
class C extends B {
void myMethod() {
// execute C
// execute myMethod in A, without touching myMethod in B OR both
}
}
我想有條件做到這一點,那就是有時叫什麼在裏面myMethod
B
其他時間沒有,但總是撥myMethod
內A
。
通過調用C
super.myMethod()
我得到的B
myMethod
,但我只想要A
myMethod
。那可能嗎?我聽說過「虛擬」的東西,但我不知道如何使用它們。
聽起來更像是一個設計問題。在任何情況下,你都可以調用'super'來獲得B的方法,並且使用B的方法中的邏輯來判斷它是否應該調用* its * super(A的方法)以及運行它自己的邏輯。 –