如何从匿名内部类调用外部类的父类中的成员变量
How to call member variable in parent of outerClass from annonymous InnerClass
我有 OuterClass extends ParentClass.
我正在尝试覆盖 OuterClass 中 ParentClass 的 annonymous InnerClass,我想做的是在重写的 annonymous 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!!!
}
}
}
}
感谢您的帮助!!
这可能对你有用:
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
,包含您需要的一切.
我有 OuterClass extends ParentClass.
我正在尝试覆盖 OuterClass 中 ParentClass 的 annonymous InnerClass,我想做的是在重写的 annonymous 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!!!
}
}
}
}
感谢您的帮助!!
这可能对你有用:
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
,包含您需要的一切.