答:这个想法很早就是一个题目了。可能循环,可能不循环,要看你是如何设计构造器的。 示例代码一[不会循环]public class A { B b; public A() { b=new B(this); } public static void main(String[] args) { A a=new A();
} } public class B { A a; public B(A a) { this.a=a; } }示例代码二:会循环。会导致:java.lang.StackOverflowErrorpublic class A { B b; public A() { b=new B(); } public static void main(String[] args) { A a=new A(); } }public class B { A a; public B() { a=new A(); } }
示例代码一[不会循环]public class A {
B b;
public A()
{
b=new B(this);
}
public static void main(String[] args) {
A a=new A();
}
}
public class B {
A a;
public B(A a)
{
this.a=a;
}
}示例代码二:会循环。会导致:java.lang.StackOverflowErrorpublic class A {
B b;
public A()
{
b=new B();
}
public static void main(String[] args) {
A a=new A();
}
}public class B { A a;
public B()
{
a=new A();
}
}