×

Final trong Java là gì?

Trong Java, từ khóa final được sử dụng trong nhiều ngữ cảnh khác nhau để chỉ ra rằng một thực thể không thể được thay đổi sau khi nó được khởi tạo. Final có thể được áp dụng cho biến, phương thức, và lớp:

1. Biến Final

Khi áp dụng cho biến, final đảm bảo rằng biến đó chỉ có thể được gán giá trị một lần. Sau khi một biến final được gán giá trị, nó không thể được thay đổi. Điều này áp dụng cho cả biến cục bộ, biến thành viên, và biến static.

  • Biến final thường được sử dụng để biểu diễn các hằng số.

final int MAX_VALUE = 99;
 

2. Phương thức Final

Khi một phương thức được khai báo là final, nó không thể bị ghi đè (override) trong bất kỳ lớp con nào. Điều này được sử dụng để giữ cho hành vi cốt lõi của phương thức không bị thay đổi trong quá trình kế thừa.

public final void show() {
   // Phương thức này không thể bị ghi đè
}
 

3. Lớp Final

Một lớp được khai báo là final không thể bị kế thừa. Điều này thường được sử dụng để bảo vệ lớp khỏi bất kỳ thay đổi nào qua kế thừa và đảm bảo rằng nó duy trì được thiết kế ban đầu.

public final class MyFinalClass {
   // Lớp này không thể bị kế thừa
}
 

Lưu ý:

  • Biến final phải được khởi tạo khi nó được khai báo hoặc trong constructor.
  • Phương thức final giúp tránh bất kỳ lớp con nào thay đổi nghĩa của phương thức.
  • Lớp final đảm bảo rằng tất cả các phương thức của lớp đều là final, vì không có lớp nào có thể kế thừa lớp đó để ghi đè chúng.

Từ khóa final giúp tăng cường bảo mật và thiết kế phần mềm bằng cách hạn chế việc sửa đổi và kế thừa, đồng thời đảm bảo tính bất biến của dữ liệu khi cần thiết.

Comments