防止匿名类引用Java中的外部成员

时间:2015-11-13 02:49:38

标签: java

在Java中,有没有办法明确阻止匿名类引用外部类或方法的成员/局部变量?

1 个答案:

答案 0 :(得分:1)

没有。您总是在其他类中定义匿名类,例如

class A {

    private String aMember;

    public void test() {
        B b = new B() {

            @Override
            public void b() {
                ...
            }
        };
    }
}

您始终可以使用OuterClassName.this.something访问外部类:

@Override
public void b() {
    A.this.aMember = "Hello";
}

为什么要限制对外部类的访问?一旦我们知道了,我们就能更好地理解你想要实现的目标。