class a
{
  a()
  {
    a obj=new a();
    obj.say();
  }
  
  public static void main(String [] a)
  {
    a obj2=new a();   }
  void say()
  {
   }}

解决方案 »

  1.   

    如果调用的不是另一个构造函数重载,那就肯定是递归呗。
    而且楼主这个程序中连个递归结束条件都没有,也就是无限递归。一旦运行起来,肯定是“Stack Overflow”
      

  2.   

    如果不是内存StackOverflow,就是我要Overflow了。
      

  3.   


            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
            at a.<init>(a.java:5)
    Press any key to continue...
      

  4.   

    加 了无参构造函数还得把
    A()
      {
        A obj=new A();
        obj.say();
      }
    改下!