急---------看似简单的概念问题(明天上午要考试了啊)
package kaoshi1;
class TestA
{
int t=8;
TestB b;
TestA()
{
System.out.println("making a");
b = new TestB(this);//a构造时,用自己作为参数构造B
}
}
class TestB
{
int e=33;
TestA a;
TestB(TestA a)
{
System.out.println("making b");
this.a = a;
}
}
class t01 {
public static void main (String args[])
{
new t01().makeThings();
}
void makeThings() {
TestA test = new TestA();
System.out.println(test.b.a.b.a.b.a.b.a.b.a.b.e);
}
}
--------------------------
---------------------------
运行结果如下:
making a
making b
33
*********************
以上说明, 实例test感觉上是一个无穷大的实例,因为a 中有b ,b 中又有a ,好象有无限制地循环, 可是编译器也不报错
谢谢指教