我有 OuterClass 扩展了 ParentClass 。
我试图覆盖 OuterClass 中 ParentClass 的匿名InnerClass ,而我想做的就是调用的成员变量匿名内部类中的ParentClass 。
这是我的代码:
class ParentClass {
int a;
Runnable act;
ParentClass() {
act = new Runnable() {
void run() {
//codes
}
}
}
}
class OuterClass extends ParentClass {
OuterClass() {
super();
super.act = new Runnable() {
void run() {
// I want to call 'int a' here!!!
}
}
}
}
感谢您的帮助!
答案 0 :(得分:0)
这可能为您解决问题:
class ParentClass {
protected int a;
protected Runnable act;
ParentClass() {
act = new Runnable() {
void run() {
//codes
}
}
}
}
class OuterClass extends ParentClass {
OuterClass() {
super();
super.act = new RunnableClass (a);
}
}
class RunnableClass implements Runnable {
private int a;
public RunnableClass(int a) {
this.a = a;
}
public void run() { //--- the code here
}
}
我不确定使用protected
是否是您的最佳访问权限,但是我的目标是让您自由创建自己的Runnable
,并提供所需的一切。 / p>