finalize()方法在垃圾收集器对象最终销毁之前调用,它可用于确保对象完全终止。例如,可以使用finalize()来确保该对象拥有的打开文件已关闭。
要将终结器添加到类中,只需定义finalize()方法即可。只要Java方法要回收该类的对象,它就会调用该方法。
在finalize()方法中,将指定在销毁对象之前必须执行的操作。finalize()方法有这种一般形式 -
protected void finalize( ) {
// finalization code here
}
这里,关键字protected是一个修辞符,它阻止通过类外部定义的代码访问finalize()。
我们无法知道Java何时或甚至是否将执行finalize()方法。如果程序在垃圾收集发生之前结束,则finalize()将不会执行。