Java.lang.Object 类

当垃圾收集确定以下情况时,垃圾收集器会在对象上调用 java.util.Object.finalize() 方法:不再有对该对象的引用。子类重写 Finalize 方法来处理系统资源或执行其他清理。

语法

protected void finalize()
                 throws Throwable

参数

不需要参数。

返回值

void 类型。

Exception

Throwable - 引发的异常

示例:

在下面的示例中,java.util.Object.finalize() 方法用于重写 Finalize 方法来定义指定的清理活动。

import java.lang.*;
import java.util.*;

public class MyClass {
  protected void finalize() throws Throwable { 
    try { 
      System.out.println("Inside MyClass finalize"); 
    } 
    catch (Throwable e) {  
      throw e; 
    } 
    finally { 
      System.out.println("Calling finalize of the Object class"); 
  
      //调用Object类的finalize
      super.finalize(); 
    } 
  } 
  
  public static void main(String[] args) throws Throwable {  
    //创建MyClass对象
    MyClass x = new MyClass(); 
  
    //调用MyClass的finalize
    x.finalize(); 
  } 
}

上述代码的输出将是:

Inside MyClass finalize
Calling finalize of the Object class