以下のコードを使用すると、stackoverflow例外が発生します。 16行目(つまりpublic my my = new my())が繰り返し呼び出されているようです。誰かがそれを継続的に呼び出す理由を説明してもらえますか?匿名クラスのコンストラクタが連続的にループする
abstract class my {
static int i = 0;
my(){
System.out.println("my constructor " + i++);
}
public void mymethod() {
System.out.println("Abstract");
}
public my m1 = new my() {
public void mymethod() {
System.out.println("Inside Abstract");
}
};
にコンパイルされます。これは、あなたの問題をすぐに、速やかにSOよりも速く表示します。デバッガの使い方がわからない場合は、表示されるスタックトレースを読むだけで済みます。 –