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
廣告