《TIJ4》练习 E10-E12 练习使用finalize()
练习10: 编写一个具有finalize()方法的类,并在方法中打印消息,在main()方法中为该类创建一个对象。 package initialization; public class E10_FinalizeCall { protected void finalize(){ System.out.println("finalize() called"); } public static void main(String[] args) { new E10_FinalizeCall(); } 注意这里并没有声明对象的引用,只有这样,垃圾回收时才会回收这个对象。 该程序中的终结器不一定会被调用,因为程序通常并没有产生足够的垃圾供回收器回收。 练习11: 修改上面的程序,使得finalize()方法总会被调用。 package initialization; public class E10_FinalizeCall { protected void finalize(){ System.out.println("finalize() called"); } public static void main(String[] args) { new E10_FinalizeCall(); System.gc(); System.runFinalization(); } }