Java 对象 finalize() 方法



描述

当垃圾收集器确定不再有对对象的引用时,垃圾收集器会调用对象上的Java Object finalize() 方法。子类重写 finalize 方法以释放系统资源或执行其他清理操作。

声明

以下是java.lang.Object.finalize() 方法的声明

protected void finalize()

参数

返回值

此方法不返回值。

异常

Throwable − 此方法引发的异常

示例

以下示例演示了 java.lang.Object.finalize() 方法的使用。在这个程序中,我们通过扩展 GregorianCalendar 类创建了一个 ObjectDemo 类。在主方法中,调用 finalize 并使对象可供垃圾收集。

package com.tutorialspoint;

import java.util.GregorianCalendar;

public class ObjectDemo extends GregorianCalendar {

   public static void main(String[] args) {
      try {
         // create a new ObjectDemo object
         ObjectDemo cal = new ObjectDemo();

         // print current time
         System.out.println("" + cal.getTime());

         // finalize cal
         System.out.println("Finalizing...");
         cal.finalize();
         System.out.println("Finalized.");

      } catch (Throwable ex) {
         ex.printStackTrace();
      }
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Sat Sep 22 00:27:21 EEST 2012
Finalizing...
Finalized.
java_lang_object.htm
广告