可能重複:
Why is super.super.method(); not allowed in Java?的Java:如何調用super()超()的覆蓋方法(祖父母法)
我有3個班,他們從彼此繼承如下:
A
↳
B
↳
C
每個類我有以下方法中:
protected void foo() {
...
}
裏面C
我想打電話從A
類foo
類不調用B
foo
:
protected void foo() {
// This doesn't work, I get the following compile time error:
// Constructor call must be the first statement in a constructor
super().super().foo();
}
編輯
一些背景信息:
B類是我們用一個實際的類。 C類是一個單元測試類,它有一些修改。 foo
裏面的方法B
做了一些我們不想要的東西,所以我們在C
內覆蓋它。但foo
類A
是有用的,需要被調用。
看看這個話題 的http://計算器.COM /問題/ 586363 /爲什麼 - 是超級超級方法 - 不被允許式的Java – Pr0gr4mm3r 2012-08-13 14:07:31