"สวัสดีอีกครั้ง วันนี้เราจะเรียนรู้สั้นๆ เกี่ยวกับ เมธอด Finalize () Java Virtual Machine เรียกเมธอดFinalize () ก่อนที่จะทำลายออบเจกต์ เมธอดนี้ใช้เพื่อจัดสรรทรัพยากรระบบหรือดำเนินการล้างข้อมูลอื่นๆ อันที่จริง วิธีนี้ วิธีการเป็นสิ่งที่ตรงกันข้ามกับตัวสร้างใน Java คุณจะจำได้ว่าตัวสร้างถูกใช้เพื่อสร้างวัตถุ"

"คลาส Object มี เมธอด Finalize () ซึ่งหมายความว่าคลาสอื่น ๆ ทุกคลาสก็ทำเช่นกัน ( เนื่องจากคลาส Java ทั้งหมดมาจากคลาส Object ) คุณสามารถใช้ เมธอด Finalize () ของคุณเอง ในคลาสของคุณได้"

"นี่คือตัวอย่าง:"

ตัวอย่าง:
class Cat
{
    String name;

    Cat(String name)
    {
        this.name = name;
    }

    protected void finalize() throws Throwable
    {
        System.out.println(name + " has been destroyed");
    }
}

“นั่นก็สมเหตุสมผลดี เอลลี่”

"แต่คุณควรทราบว่า Java Virtual Machine ตัดสินใจว่าจะเรียกเมธอดนี้หรือไม่ บ่อยกว่านั้น อ็อบเจ็กต์ที่สร้างขึ้นภายในเมธอดและประกาศขยะเมื่อเมธอดเสร็จสมบูรณ์จะถูกทำลายทันทีโดยไม่มีการเรียกเพื่อจบการทำงาน () เมธอดนี้มีมากกว่า เช่นการสำรองข้อมูลมากกว่าโซลูชันที่เชื่อถือได้ตัวเลือกที่ดีที่สุดคือปล่อยทรัพยากรระบบทั้งหมด (โดยตั้งค่าการอ้างอิงไปยังวัตถุอื่นๆ เป็น null) ในขณะที่วัตถุนั้นยังมีชีวิตอยู่ ฉันจะบอกคุณเพิ่มเติมเกี่ยวกับข้อดีและความแตกต่างของวิธีนี้ในภายหลัง ณ จุดนี้ คุณต้องเข้าใจสองสิ่งเท่านั้น: มีวิธีการดังกล่าว และ ( แปลกใจ! ) มันไม่ได้ถูกเรียกเสมอ"