当垃圾收集确定以下情况时,垃圾收集器会在对象上调用 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