我的一部分认为这不应该是可能的(即使它是),但我还是会问。
给定以下类层次结构(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”。