外側のクラスの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();
    }
}

こっちのほうがよりわかりやすい・・・と、思う。