Đề XuấT, 2024

Editor Choice

Sự khác biệt giữa Chung kết, Cuối cùng và Hoàn thiện trong Java

Các từ 'cuối cùng, cuối cùng và hoàn thiện' nằm trong ngữ cảnh của Java. Mỗi người trong số họ được cung cấp một chức năng khác nhau. Sự khác biệt cơ bản giữa cuối cùng, cuối cùng và cuối cùng là cuối cùng là một công cụ sửa đổi truy cập, cuối cùng là một khối và hoàn thiện là một phương thức của một lớp đối tượng. Có một số khác biệt khác giữa cuối cùng, cuối cùng và cuối cùng được thảo luận trong biểu đồ so sánh.

Biểu đồ so sánh

Cơ sở để so sánhSau cùngCuối cùngHoàn thiện
Căn bảnCuối cùng là một "Từ khóa" và "công cụ sửa đổi truy cập" trong Java.Cuối cùng là một "khối" trong Java.Hoàn thiện là một "phương thức" trong Java.
Áp dụngCuối cùng là một từ khóa áp dụng cho các lớp, biến và phương thức.Cuối cùng là một khối luôn được liên kết với khối thử và bắt.Finalize () là một phương thức áp dụng cho các đối tượng.
Đang làm việc(1) Biến cuối cùng trở thành hằng số và nó không thể được chỉ định lại.
(2) Một phương thức cuối cùng không thể bị ghi đè bởi lớp con.
(3) Lớp cuối cùng không thể được mở rộng.
Khối "cuối cùng", dọn sạch các tài nguyên được sử dụng trong khối "thử".Phương thức hoàn thiện thực hiện các hoạt động dọn dẹp liên quan đến đối tượng trước khi phá hủy nó.
Chấp hànhPhương pháp cuối cùng được thực hiện theo cuộc gọi của nó.Khối "Cuối cùng" thực thi ngay sau khi thực hiện khối "thử bắt".Phương thức Finalize () thực thi ngay trước khi phá hủy đối tượng.

Định nghĩa cuối cùng

Phần cuối cùng là một từ khóa trong Java. Nó là một sửa đổi truy cập. Từ khóa cuối cùng của Cameron có thể áp dụng cho các lớp, phương thức và biến. Hãy cho chúng tôi xem làm thế nào nó hoạt động với từng người trong số họ.

Biến cuối cùng

  • Khi một từ khóa cuối cùng được áp dụng cho biến, nó không thể được sửa đổi thêm.
  • Một biến cuối cùng phải được khởi tạo khi nó được khai báo.
  • Trong một quy ước mã hóa phổ biến, các biến cuối cùng được khai báo trong UPPERCASE.
  • Biến cuối cùng không chiếm bộ nhớ trên cơ sở từng trường hợp.
 int cuối cùng FILE_OPEN = 2; 

Phương pháp cuối cùng

  • Khi một phương thức trong lớp, được khai báo là cuối cùng, nó không thể bị ghi đè bởi lớp con của nó.
  • Các phương thức nhỏ được khai báo cuối cùng có thể được thực hiện trong dòng nội tuyến, bởi trình biên dịch sẽ làm giảm chi phí gọi hàm và tăng các cải tiến hiệu suất.
  • Cuộc gọi bị ghi đè, được giải quyết một cách linh hoạt, nhưng khi một phương thức được khai báo là cuối cùng, nó không thể bị ghi đè. Do đó, chức năng gọi có thể được giải quyết tại thời gian biên dịch.
 class A {Final void meth () {System.out.println ("Đây là phương thức cuối cùng."); }} lớp B mở rộng A {void meth () {// Clas B không thể kế thừa phương thức của lớp A. System.out.println ("Không ghi đè"); }} 

Lớp cuối cùng

  • Khi một lớp được khai báo là cuối cùng, thì nó không thể được kế thừa bởi bất kỳ lớp con nào.
  • Khai báo một lớp là cuối cùng sẽ tự động khai báo tất cả các phương thức của nó cuối cùng.
  • Bạn không thể khai báo một lớp là cả hai bản tóm tắt và khác nhau
 lớp cuối cùng A {// ...} lớp B mở rộng A {// Lớp B không thể kế thừa lớp A // ...} 

Định nghĩa cuối cùng

  • Trong Java, cuối cùng, ra là một khối luôn được liên kết với khối thử / bắt.
  • Khối cuối cùng cũng có thể thực hiện được sau khi khối try / Catch và trước mã theo khối try / Catch.
  • Cuối cùng, khối chặn sẽ thực hiện cho dù ngoại lệ có được ném hay không.
  • Khi một ngoại lệ được ném ra và thậm chí không có khối bắt nào khớp với ngoại lệ đó, thì khối cuối cùng đã được thực hiện.
  • Khi một phương thức trả về cho người gọi từ bên trong khối try / Catch thông qua một ngoại lệ chưa được phát hiện hoặc một câu lệnh trả về rõ ràng, thì khối cuối cùng của khối được thực thi ngay trước khi phương thức trả về cho người gọi.
  • Khối cuối cùng đã được sử dụng để dọn dẹp các tài nguyên hoặc giải phóng bộ nhớ được sử dụng trong khối dùng thử.
  • Khối cuối cùng cũng là tùy chọn, nhưng đó là một cách thực hành tốt để viết khối cuối cùng sau khối thử / bắt.
 class Cuối cùngExample {// Phương thức này đưa ra một ngoại lệ ra khỏi phương thức. static void ProcA () {thử {System.out.println ("bên trong ProcA"); ném RuntimeException mới ("bản demo"); } cuối cùng {System.out.println ("cuối cùng của ProcA"); }} // Quay trở lại từ trong một khối thử. static void ProcB () {thử {System.out.println ("bên trong ProcB"); trở về; } cuối cùng {System.out.println ("ProcB's cuối cùng"); }} // Thực hiện một khối thử bình thường. static void ProcC () {thử {System.out.println ("bên trong ProcC"); } cuối cùng {System.out.println ("ProcC's cuối cùng"); }} void static void main (String args []) {try {ProcA (); } Catch (Exception e) {System.out.println ("Bắt ngoại lệ"); } ProcB (); ProcC (); }} // đầu ra bên trong ProcA cuối cùng ngoại lệ bị bắt bên trong ProcB cuối cùng bên trong ProcC ProcC cuối cùng 

Định nghĩa hoàn thiện

  • Hoàn thiện là một phương thức trong một lớp đối tượng.
  • Một đối tượng có thể đang giữ một số tài nguyên không phải là java như xử lý tệp; sau đó nó phải được giải phóng trước khi nó bị phá hủy.
  • Phương thức này được gọi bởi trình thu gom rác trước khi phá hủy hoàn toàn đối tượng.
  • Phương pháp này thực hiện các hoạt động dọn dẹp cho đối tượng trước khi nó bị phá hủy.

Dạng chung của phương thức quyết toán () như sau.

 được bảo vệ void Finalize () {// mã quyết toán tại đây} 

Phương thức hoàn thiện được khai báo là được bảo vệ để không thể truy cập từ bên ngoài lớp.

Phương pháp này luôn được gọi trước khi thu gom rác.

Sự khác biệt chính giữa Chung kết, Cuối cùng và Hoàn thiện

  1. Từ khóa cuối cùng là một sửa đổi truy cập, cuối cùng là một khối và hoàn thiện là một phương pháp.
  2. Từ khóa cuối cùng có thể áp dụng cho các lớp, biến và phương thức của các lớp, cuối cùng là một khối liên kết với khối thử bắt được sử dụng để xử lý các trường hợp ngoại lệ, hoàn thiện là một phương thức chỉ hoạt động trên các đối tượng.
  3. Biến một khi được khai báo là cuối cùng trở thành hằng số và không thể được gán lại lần nữa, một phương thức được khai báo là cuối cùng không thể bị ghi đè và lớp một khi được khai báo là cuối cùng không bao giờ có thể được kế thừa. Khối cuối cùng được sử dụng để dọn sạch các tài nguyên được sử dụng bởi khối thử và bắt. Phương thức hoàn thiện được sử dụng để dọn sạch các tài nguyên được sử dụng bởi một đối tượng trước khi đối tượng bị phá hủy.

Phần kết luận:

Cuối cùng, cuối cùng và hoàn thiện có hiệu lực khác nhau khi áp dụng trên một phương thức.

Top