在 Java 中重写 finalize() 方法的目的是什么?
javaobject oriented programmingprogramming更新于 2025/6/12 13:00:17
finalize() 方法是 Object 类中的 预定义 方法,并且是 protected。可以重写 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
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

