tij上的例子吧?什么地方不懂呢?

解决方案 »

  1.   

    to up:
    是tij上的例子!
    不懂的地方在:
    while (!chiar.f)
    {  new chiar();
       new String("to take up space!");
    }
    当i=47的时候应该不会产生chair对象了,但是在运行是好象还是继续产生了。而且我想知道回收是什么时候开始的
      

  2.   

    不是i=47的时候就停止产生chair,而是在清理的时候,清理到标识为47的这个chair的时候才停止。其实,在调用finalize()的时候才会更动f的值,也就是说在gc开始运行的时候。其实这段代码就是告诉你,gc什么时候运行完全是系统自己决定的,还有就是它运行的时候要调用对象的finalize方法
      

  3.   

    终于看懂了这段程序了,谢谢了。
    不过现在又有一个问题想问一下了:
    有这样一个代码:
    class Note {
      private int value;
      private Note(int val) { value = val; }
      public static final Note
        middleC = new Note(0), 
        cSharp = new Note(1),
        cFlat = new Note(2);
    }那new Note(0)不是在第归的调用自己的构造函数了和初始化自己的成员了吗?