hello实例必须在初始化后才会生成。
执行main()和初始化hello没有关系
main()定义为static是java编程规范,由不得我们更改
main()执行完毕,程序就会退出(finalize()方法的解释见下面,你的代码和这个方法一点关系都无)
继承和finalize()
通过“合成”方法创建新类时,永远不必担心对那个类的成员对象的收尾工作。每个成员都是一个独立的对象,所以会得到正常的垃圾收集以及收尾处理——无论它是不是不自己某个类一个成员。但在进行初始化的时候,必须覆盖衍生类中的finalize()方法——如果已经设计了某个特殊的清除进程,要求它必须作为垃圾收集的一部分进行。覆盖衍生类的finalize()时,务必记住调用finalize()的基础类版本。否则,基础类的初始化根本不会发生。
执行main()和初始化hello没有关系
main()定义为static是java编程规范,由不得我们更改
main()执行完毕,程序就会退出(finalize()方法的解释见下面,你的代码和这个方法一点关系都无)
继承和finalize()
通过“合成”方法创建新类时,永远不必担心对那个类的成员对象的收尾工作。每个成员都是一个独立的对象,所以会得到正常的垃圾收集以及收尾处理——无论它是不是不自己某个类一个成员。但在进行初始化的时候,必须覆盖衍生类中的finalize()方法——如果已经设计了某个特殊的清除进程,要求它必须作为垃圾收集的一部分进行。覆盖衍生类的finalize()时,务必记住调用finalize()的基础类版本。否则,基础类的初始化根本不会发生。
不一定会调用finalize()方法的。不可预料的
上面其实什么都没做!public static void main(String args[])
{
new hello();
}
这会生成hello()实例!然后又马上回收!
装载类Hello;
调用Hello的静态方法main()
执行完结后退出。类装载与类的实例化是不同的,类装载在类的其它操作之前进行,一般只执行一次