如何从匿名内部类调用外部类的父类中的成员变量

How to call member variable in parent of outerClass from annonymous InnerClass

我有 OuterClass extends ParentClass.
我正在尝试覆盖 OuterClassParentClassannonymous 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,包含您需要的一切.