public class LianXi1
{
public LianXi1() //第二步,第四步。。。。
{
System.out.println("调用无参构造器");
new LianXi1("hello");
}
public LianXi1(String s) //第三步,第五步。。。。
{
System.out.println("调用有参构造器");
new LianXi1();
}
public static void main(String args[])
{
new LianXi1(); //第一步
}
}
我给你把执行顺序打一遍,你就知道哪里错了。你在无参中调用有参,有参中调用无参,你说你这个程序如何能停下来。 对了只需要把红色代码去 掉就OK了。
这样,你就在主函数中调用过无参函数,然后在无参函数中调用有参函数,而到有参函数程序就停了,这样无参和有参的构造器就都只执行了一次。你的目的就达到了