Java在构造函数中将此漏到了嵌套类

时间:2017-11-14 05:58:35

标签: java constructor this

从之前的StackOverflow讨论中,我知道在构造函数返回之前传递 this 是不可取的。

但是如果我们将 this 传递给内部类的构造函数呢?由于内部类已经有一个隐含的 this 指向外部类的指针,显式传递这个仍然是个问题吗?

一个真实的例子是Apache Helix(here)。

基本上它正在做:

public class Outer
{
  public Outer() {
    new Thread(new Inner(this)).start();
  }

  class Inner implements Runnable {
    private Outer outer;
    Inner(Outer outer) {
       this.outer = outer;
    }

    public void run() {
      //some logic
    }
  }
}

0 个答案:

没有答案