Java - 如何从参数访问外部类?

时间:2016-07-18 11:11:58

标签: java parameter-passing

public class Outer {
    public void Say(Bar bar) {
        //...
    }
    public Outer(final Foo foo) {
        //...
    }
}

public interface Foo {
    void blah(Bar bar);
}

public class Application {
    public static void main(String[] args) {
        Outer outer = new Outer(new Foo() { 
            @Override
            public void blah(Bar bar) {
                /*trying to access "outer"*/.Say(bar);
            }
        });
    }
}



我应该怎么做才能访问“外部”?
谢谢。

StackOverflow禁止发布此内容,因为它说我的帖子主要是代码,这一行只是一堆废话。请忽略它。

2 个答案:

答案 0 :(得分:1)

外部无法访问。因为实例是在创建Foo之后创建的。

我看到两种方式: 1.将变量outer转换为静态上下文。 2.在调用方法blah()

时移交变量

答案 1 :(得分:0)

在您的示例中,'外部'简直就是这个'