内部クラスのインスタンス生成
今までインスタンスに対して、newを呼び出せるとは知らなかった。
なにか、効果的に使う方法はあるのかな?
class Test { static int count = 0; public static void main(String[] args) { new Object(){ class InnerClass{ public InnerClass() {count++;} class InnerInnerClass{ public InnerInnerClass() {count++;} public void printCount() { System.out.println("Hallo " + count); } } public InnerInnerClass getInnerInnerClass() { return getInnerClass().new InnerInnerClass(); } } public InnerClass getInnerClass() { return this.new InnerClass(); } }.new InnerClass().getInnerInnerClass().printCount(); } }
$ javac Test.java
$ java Test
Hallo 3