在Java中重写finalize()方法的目的是什么?

最终化()方法是一个预先定义的方法中的对象 类,它是受保护的。可以覆盖finalize()方法的目的,以使对象包括 清除代码 处置可以在对象被垃圾回收之前完成的系统资源。如果我们要覆盖 finalize() 方法,那么我们有责任明确地调用finalize()方法。的最终化()方法可仅一次调用 由JVM或任何给定对象。

语法

protected void finalize() throws Throwable

示例

public class FinalizeMethodTest {
   protected void finalize() throws Throwable {
      try {
         System.out.println("Calling finalize() method of FinalizeMethodTest class");
      } catch(Throwable th) {
         throw th;
      } finally {
         System.out.println("Calling finalize() method of Object class");
         super.finalize();      }
   }
   public static void main(String[] args) throws Throwable {
      FinalizeMethodTest test = new FinalizeMethodTest();
      String str = "finalize() method in Java";
      str = null;
      System.out.println(str);
      test.finalize();
   }
}

输出结果

null
Calling finalize() method of FinalizeMethodTest class
Calling finalize() method of Object class