在java中获取包装器对象

时间:2013-06-19 09:24:30

标签: java object wrapping

我正在实例化一个LinkTableColumn对象。 实例化时 - 我正在覆盖该方法,该方法需要我的LinkTableColumn实例。

编写以下内容时 - 编译器返回:“没有可以访问LinkTableColumn类型的封闭实例”


        LinkTableColumn linkTableColumn = new LinkTableColumn(){
            @Override
            public methodIAmOverridng() {
                return new ObjectNeedsLinkTableColumn(LinkTableColumn.this);
            }
        };

有一种解决方法,我想避免。有可能以某种方式把它写得更干净吗?


        LinkTableColumn linkTableColumn = new LinkTableColumn(){
            final LinkTableColumn l = this;
            @Override
            public methodIAmOverridng() {
                return new ObjectNeedsLinkTableColumn(l);
            }
        };

1 个答案:

答案 0 :(得分:1)

只需this

LinkTableColumn linkTableColumn = new LinkTableColumn(){
    @Override
    public methodIAmOverridng() {
        return new ObjectNeedsLinkTableColumn(this);
    }
};