こんなことができるのか… org.eclipse.jdt.core.tests.compiler.regression.InnerEmulationTest.test090 より:
D.java
public class D {
public void main(String[] args) {
class Middle {
class Inner {}
}
class M extends Middle.Inner {
M() { new Middle().super(); } // !!!
}
new M();
}
}
インナークラスを外で継承して、コンストラクタの中で(!) enclosing class のインスタンスを生成するという方法。
昨日のポストにかなり関係していそう。