从匿名类访问父类时解决歧义

Jos*_*lds 5 java anonymous-class

我最近碰到了这样的事情......

public final class Foo<T>
implements Iterable<T> {

    //...

    public void remove(T t) { /* banana banana banana */ }

    //...

    public Iterator<T> Iterator {
        return new Iterator<T>() {

            //...

            @Override
            public void remove(T t) {
                // here, 'this' references our anonymous class...
                // 'remove' references this method...
                // so how can we access Foo's remove method?           
            }

            //...

        };
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以做我正在尝试的同时保持这个匿名课程?或者我们必须使用内部类或其他东西?

aio*_*obe 9

remove在封闭类中访问,您可以使用

...
    @Override
    public void remove(T t) {
        Foo.this.remove(t);         
    }
...
Run Code Online (Sandbox Code Playgroud)

相关问题:从内部类对象获取外部类对象