hello实例必须在初始化后才会生成。
执行main()和初始化hello没有关系
main()定义为static是java编程规范,由不得我们更改
main()执行完毕,程序就会退出(finalize()方法的解释见下面,你的代码和这个方法一点关系都无)
继承和finalize()
通过“合成”方法创建新类时,永远不必担心对那个类的成员对象的收尾工作。每个成员都是一个独立的对象,所以会得到正常的垃圾收集以及收尾处理——无论它是不是不自己某个类一个成员。但在进行初始化的时候,必须覆盖衍生类中的finalize()方法——如果已经设计了某个特殊的清除进程,要求它必须作为垃圾收集的一部分进行。覆盖衍生类的finalize()时,务必记住调用finalize()的基础类版本。否则,基础类的初始化根本不会发生。

解决方案 »

  1.   

    在你new hello()时生成。
    不一定会调用finalize()方法的。不可预料的
      

  2.   

    是在main()之后,如果main()里面没有将hello实例化,就不会生成实例了。
      

  3.   

    如果你的main函数中始终不new hello()的话,是始终不会生成一个实例的!
      

  4.   

    对!如上不会生成hello实例!
    上面其实什么都没做!public static void main(String args[])
      {
         new hello();
      }
    这会生成hello()实例!然后又马上回收!
      
      

  5.   

    你的main方法中没有实例化Hello,所以过程如下:JavaVM初始化;
    装载类Hello;
    调用Hello的静态方法main()
    执行完结后退出。类装载与类的实例化是不同的,类装载在类的其它操作之前进行,一般只执行一次