我有以下类层次结构场景; A类有一个方法,B类扩展了A类,我想从本地嵌套类中调用超类的方法。 我希望骨架结构更清楚地描绘场景 Java是否允许此类调用?
class A{
public Integer getCount(){...}
public Integer otherMethod(){....}
}
class B extends A{
public Integer getCount(){
Callable<Integer> call = new Callable<Integer>(){
@Override
public Integer call() throws Exception {
//Can I call the A.getCount() from here??
// I can access B.this.otherMethod() or B.this.getCount()
// but how do I call A.this.super.getCount()??
return ??;
}
}
.....
}
public void otherMethod(){
}
}
答案 0 :(得分:21)
您可以使用B.super.getCount()
在A.getCount()
中致电call()
。
答案 1 :(得分:5)
您必须使用B.super.getCount()
答案 2 :(得分:4)
的内容
package com.mycompany.abc.def;
import java.util.concurrent.Callable;
class A{
public Integer getCount() throws Exception { return 4; }
public Integer otherMethod() { return 3; }
}
class B extends A{
public Integer getCount() throws Exception {
Callable<Integer> call = new Callable<Integer>(){
@Override
public Integer call() throws Exception {
//Can I call the A.getCount() from here??
// I can access B.this.otherMethod() or B.this.getCount()
// but how do I call A.this.super.getCount()??
return B.super.getCount();
}
};
return call.call();
}
public Integer otherMethod() {
return 4;
}
}
也许?