Help us understand the problem. What is going on with this article?

Java: インナークラスを外で継承し、コンストラクタ内でenclosing instanceをnew

More than 5 years have passed since last update.

こんなことができるのか… 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 のインスタンスを生成するという方法。
昨日のポストにかなり関係していそう。

keigoi
大学教員。 「型システム入門 (TAPL)」訳者の一人。 OCaml と Haskell が好きです。 かつては IT プランニングという企業において関数型プログラミング言語でソフトウェア開発をしていました。 ソフトウェア形式検証とプログラミング言語に興味があります。 博士(情報科学)。
http://keigoimai.info/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away