コンストラクタでのthis漏洩ってどれぐらい気をつける/気にするもんでしょうか? 内部クラス経由の暗黙漏洩、thisキーワードでの明示的漏洩を問わず。 class Foo { Bar bar; public Foo() { bar = new Bar(this); } } みたいな時、new Bar(this)はthis参照を保存するだけで、それを使うことは無い、とわかってれば 安全なんでしょうが、Barのコンストラクタの実装が変わるとFooも危険になる。 Fooの安全性が、Barの実装に依存することになるのが、なんとなく気持ち悪いけど、割り切ればいいものなのかもしれない。 ってのがモヤモヤするところです。 潔癖にするなら、 class Foo { Bar bar null; public Foo() { } public void initialize() } bar = new Bar(this); } } みたいな2段階初期化なんでしょうけど。 Swingのソースとか見ると、this漏洩しまくりなんですけどね。