"Xin chào một lần nữa. Hôm nay chúng ta sẽ tìm hiểu ngắn gọn về phương thức finalize (). Máy ảo Java gọi phương thức finalize () trước khi hủy một đối tượng. Phương thức này được sử dụng để giải phóng tài nguyên hệ thống hoặc thực hiện các tác vụ dọn dẹp khác. Thực tế, điều này phương thức hoàn toàn ngược lại với hàm tạo trong Java. Bạn sẽ nhớ lại rằng hàm tạo được sử dụng để tạo đối tượng."

"Lớp Object có phương thức finalize (), có nghĩa là mọi lớp khác cũng vậy ( vì tất cả các lớp Java đều bắt nguồn từ lớp Object ). Bạn có thể chỉ cần triển khai phương thức finalize () của riêng mình trong lớp của mình."

"Đây là một ví dụ:"

Ví dụ:
class Cat
{
    String name;

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

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

"Điều đó có ý nghĩa, Ellie."

"Nhưng bạn nên lưu ý rằng Máy ảo Java quyết định có gọi phương thức này hay không. Thông thường, các đối tượng được tạo bên trong một phương thức và được khai báo là rác khi phương thức hoàn thành sẽ bị hủy ngay lập tức mà không có bất kỳ lệnh gọi nào để hoàn thiện (). Phương thức này còn hơn thế nữa giống như sao lưu hơn là một giải pháp đáng tin cậy. Tùy chọn tốt nhất là giải phóng tất cả tài nguyên hệ thống (bằng cách đặt tham chiếu đến các đối tượng khác thành null) trong khi đối tượng vẫn còn sống. Tôi sẽ cho bạn biết thêm về các ưu điểm và sắc thái của phương pháp này sau. Tại thời điểm này , bạn chỉ cần hiểu hai điều: có một phương thức như vậy, và ( thật ngạc nhiên! ) không phải lúc nào nó cũng được gọi."