0
無限ループになってしまいます。
以下のプログラムで無限ループになってしまいます。
class A
{
B b = new B();
}
class B
{
A a = new A();
}
こんな感じで2つのプログラムを参照しあって、
そこで処理が止まってしまいます。
どのようにしたら、それを食いとめられるでしょうか?
0
以下のプログラムで無限ループになってしまいます。
class A
{
B b = new B();
}
class B
{
A a = new A();
}
こんな感じで2つのプログラムを参照しあって、
そこで処理が止まってしまいます。
どのようにしたら、それを食いとめられるでしょうか?
0
途中で止めたいなら、何か条件があるだろう。
どうなったら止まればいいんだ?
まずはそれを明確にすること。
プログラムは書いた通りに動くんだから、明確でないものを
つくることはできない。
30
両方で new したら参照し合えません。お互いに参照し合いたい場合
class A {
B b = new B(this);
}
class B {
final A a;
B (A a) {
this.a = a;
}
}
0
仙人さんありがとうございました。
仙人さんのおかげで、
プログラムまともに動くようになりました。
他に回答して下さった方もありがとうございました。
質問から6ヶ月以上経過しているので、回答を書き込むことはできません。