finalize() 方法
Java 允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做 finalize( ),它用来清除回收对象。
例如,你可以使用 finalize() 来确保一个对象打开的文件被关闭了。
在 finalize() 方法里,你必须指定在对象销毁时候要执行的操作。
public class FinalizationDemo {public static void main(String[] args) {Cake c1 = new Cake(1);Cake c2 = new Cake(2);Cake c3 = new Cake(3);c2 = c3 = null;System.gc(); //调用Java垃圾收集器}}class Cake extends Object {private int id;public Cake(int id) {this.id = id;System.out.println("Cake Object " + id + "is created");}protected void finalize() throws java.lang.Throwable {super.finalize();System.out.println("Cake Object " + id + "is disposed");}}/*$ javac FinalizationDemo.java$ java FinalizationDemoCake Object 1is createdCake Object 2is createdCake Object 3is createdCake Object 3is disposedCake Object 2is disposed*/
