同じエラー
First calssを与える次の 2 つのプログラムを検討してください。
public class Testing {
Testing t=new Testing();
public static void main(String args[]){
testing t1=new testing();
}
}
セカンドクラス:
class foo{
void baz(){
new testing();
}
}
public class testing {
testing t=new testing();
public static void main(String args[]){
foo f=new foo();
f.baz();
}
}
上記のコードはどのように次のエラーを出しますか?
クラスのインスタンスが再帰的に作成されていることは知っていますが、その方法を知りたいですか?
Exception in thread "main" java.lang.StackOverflowError
at com.Testing.<init>(Testing.java:4)
at com.Testing.<init>(Testing.java:4)
また、私たちが行う場合、なぜこれが起こらないのですか
public class testing {
testing t2=new testing();
testing t1=new testing();
public static void main(String args[])
{//anything}
}
t1 では t2 オブジェクトを初期化する必要があり、その逆も同様ですか?