Computer >> Máy Tính >  >> Lập trình >> Java

Mục đích của việc ghi đè phương thức finalize () trong Java là gì?


finalize () phương pháp là một được xác định trước trong Đối tượng lớp và nó được bảo vệ . Mục đích của finalize () có thể ghi đè phương thức cho một đối tượng để bao gồm mã dọn dẹp hoặc để loại bỏ tài nguyên hệ thống s có thể được thực hiện trước khi đối tượng được thu gom rác. Nếu chúng tôi đang ghi đè finalize () thì trách nhiệm của chúng tôi là gọi finalize () phương pháp một cách rõ ràng. Finalize () phương thức chỉ có thể được gọi một lần bởi JVM hoặc bất kỳ đối tượng nhất định nào.

Cú pháp

protected void finalize() throws Throwable

Ví dụ

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();
   }
}

Đầu ra

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