読者です 読者をやめる 読者になる 読者になる

anonymous class特有のメソッド呼び出しの使い道

Java

きもい呼び方

確かにきもいけど、

public final class Test {
    static interface Hoge {}
    public static void main(String[] args) {
        Hoge h = new Hoge() {{
            System.out.println("init");
        }};
    }
}

より、

public final class Test {
    static interface Hoge {}
    public static void main(String[] args) {
        Hoge h = new Hoge() {
            Hoge init() {
                System.out.println("init");
                return this;
            }
        }.init();
    }
}

の方が分かりやすいかも。
ただのメソッドでしかないから、呼び忘れたら終わりだけど*1

*1:final変数への代入も無理だな