覆蓋 Java 中的 finalize() 方法的目的是什麼?
finalize() 方法是 Object 類中的 預定義 方法,並且是 受保護的。可以覆蓋 finalize() 方法的目的,讓物件在垃圾回收物件之前包括清理程式碼或釋放系統資源。如果覆蓋了 finalize() 方法,則我們有責任顯式呼叫 finalize() 方法。JVM 或任何給定物件 只能呼叫一次 finalize() 方法。
語法
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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C #
MongoDB
MySQL
Javascript
PHP