Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จุดประสงค์ของการแทนที่เมธอด finalize() ใน Java คืออะไร?


The 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