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