外側のクラスのthis
外側のクラスのthisの取り方ってあんまり知られてない・・・?
public class Hoge { private Hoge(Piyo p) { ... } ... }
public class Piyo { public Piyo self() { return this; } public void method() { new Thread() { public void run() { Hoge hoge = new Hoge(self()); } }.start(); } }
まぁ、別に上のような方法でもいいんだけど、
public class Piyo { public void method() { new Thread() { public void run() { Hoge hoge = new Hoge(Piyo.this); } }.start(); } }
こっちのほうがよりわかりやすい・・・と、思う。