Phương thức finalize() trong Java là gì và cách ghi đè lên nó

Phuong Thuc Finalize Trong Java La Gi Va Cach Ghi De Len No



Java cung cấp cho nhà phát triển một chức năng tuyệt vời để quản lý tài nguyên hệ thống một cách hiệu quả. Trong một kịch bản như vậy, “ hoàn thiện() ” có hiệu lực giải phóng tài nguyên hệ thống trước khi trình thu gom rác thực thi đối với một đối tượng cụ thể. Tuy nhiên, “Máy ảo Java (JVM)”, cho phép gọi phương thức “hoàn thiện()” một lần cho mỗi đối tượng.

Blog này sẽ thảo luận về cách sử dụng và ghi đè phương thức “hoàn thiện()”.







Phương thức 'hoàn thiện ()' của Java là gì và cách ghi đè lên nó?

Các ' hoàn thiện() ” phương pháp của “ Sự vật ” được gọi bởi “Trình thu gom rác” ngay trước khi xóa đối tượng phù hợp với việc thu gom rác để áp dụng tác vụ dọn dẹp.



cú pháp



hoàn thiện khoảng trống được bảo vệ ( ) ném Ném được





Trong cú pháp này, “ được bảo vệ ” là một công cụ xác định quyền truy cập ngụ ý rằng phương thức này chỉ có thể được truy cập trong lớp và các lớp dẫn xuất của lớp đó.

Ví dụ 1: Áp dụng Phương thức “hoàn thiện()” trong Java



Ví dụ này minh họa việc sử dụng phương thức “Finalize()”:

lớp công khai Finalize2 {
hoàn thiện khoảng trống được bảo vệ ( ) {
System.out.println ( 'Đây là hoàn thiện phương pháp!' ) ;
}
public tĩnh void main ( Sợi dây [ ] tranh luận ) {
Đối tượng Finalize2 = Finalize2 mới ( ) ;
đối tượng = null;
Hệ thống.gc ( ) ;
System.out.println ( 'Người thu gom rác được gọi!' ) ;
} }

Trong các dòng mã trên:

  • Áp dụng ' hoàn thiện() ” trong lớp “Finalize2” bao gồm câu lệnh đã nêu.
  • TRONG ' chủ yếu ”, hãy tạo một đối tượng lớp thông qua hàm tạo “Finalize2()”.
  • Bây giờ, phân bổ một đối tượng một “ vô giá trị ' giá trị. Đó là khi nó có giá trị “null”, không có tham chiếu nào và do đó, nó phù hợp để thu gom rác.
  • Sau đó, áp dụng “ Hệ thống.gc () ” để thực thi trình thu gom rác, do đó gọi phương thức “hoàn thiện()”.

đầu ra

Tại đây, có thể xác minh rằng phương thức “hoàn thiện()” được gọi một cách thích hợp.

Ví dụ 2: Ghi đè Phương thức “hoàn thiện()” của Java

Các ' Sự vật ” tương ứng với lớp cha của tất cả các lớp Java. Phương thức “hoàn thiện()” có trong lớp này không có bất kỳ triển khai nào. Tuy nhiên, trong định nghĩa lớp học, các hoạt động dọn dẹp đã có. Do đó, việc ghi đè phương thức này dẫn đến việc thực hiện các hoạt động dọn dẹp đã xác định:

lớp công khai Kết thúc {
hoàn thiện khoảng trống được bảo vệ ( ) ném Ném được {
thử {
System.out.println ( 'Phương thức finalize() của lớp' ) ;
}
nắm lấy ( Ném được ngoại trừ ) {
ném trừ;
}
Cuối cùng {
System.out.println ( 'Gọi phương thức finalize() của lớp Object' ) ;
siêu.hoàn thiện ( ) ;
} }
public tĩnh void main ( Sợi dây [ ] tranh luận ) ném Ném được {
Hoàn thiện obj = mới Hoàn thiện ( ) ;
obj.hoàn thiện ( ) ;
} }

Theo khối mã trên:

  • Chỉ định la ' hoàn thiện() ” và khai báo “ Ném được ” ngoại lệ, tương ứng.
  • Bên trong ' thử ” khối, chỉ định câu lệnh đã nêu và đối phó với ngoại lệ trong khối “ nắm lấy ' khối.
  • Bên trong ' Cuối cùng ” khối, các “ siêu ” trỏ đến phương thức “hoàn thiện()” của lớp đối tượng. Nó được áp dụng trong khối cụ thể này để đảm bảo việc thực thi phương thức “hoàn thiện()” ngay cả khi gặp phải ngoại lệ.
  • TRONG ' chủ yếu ”, hãy tạo một đối tượng lớp và ghi đè phương thức “hoàn thiện()” của lớp đối tượng bằng phương thức được chỉ định/xác định trong lớp “Hoàn thiện”.

đầu ra

Trong kết quả này, có thể thấy rằng phương thức “hoàn thiện()” đã được ghi đè thành công.

Phần kết luận

Các ' hoàn thiện() ” được gọi bởi “Trình thu gom rác” trước khi xóa đối tượng và có thể được ghi đè bằng cách sử dụng “ siêu ” từ khóa. Blog này đã thảo luận về cách sử dụng và ghi đè phương thức “hoàn thiện()” trong Java.