我的一部分认为这不应该是可能的(即使它是),但我还是会问。
给定以下类层次结构(Grandparent
并且Parent
来自第 3 方,因此不受我的控制),我将如何覆盖myMethod()
inChild
以绕过覆盖的实现Parent
并调用 in 中的实现Grandparent
?
class Grandparent {
public void myMethod() {
// do stuff
}
}
class Parent extends Grandparent {
@Override public void myMethod() {
super.myMethod();
// do something else
}
}
class Child extends Parent {
@Override public void myMethod() {
// ??? I want to *only* do what Grandparent did here
}
}
假设Parent
该类提供了许多其他有用的行为,并且是Child
的层次结构的关键元素(换句话说,我不是在寻找“创建Child
一个子类Grandparent
”。