いまさら Java のブロックローカルなクラスは無名でなくてもいいことを知った。おおよそ 10 年もつかっているのに! public class Foo { public static void main(String[] args) { Int[] ints = new Int[] { func(1), func2(2), func3(3) }; for (int i = 0; i < ints.length; i++) { System.out.println( ints[i].getClass().getName() + " " + ints[i].intValue() ); } } private static Int func(final int n) { class Inner implements Int { public int intValue() { return n;