• Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).
anhcraft

Java Java cơ bản #15: Từ khóa Final

anhcraft

Thành viên BQT
DEVELOPER
THÀNH VIÊN
Tham gia
18/09/2016
Bài viết
3,165
Từ khóa final được dùng để:
- Bảo toàn giá trị của Variable
- Làm mất khả năng thừa kế của Class
- Làm mất khả năng ghi đè của Non-static method

Về vị trí: Từ khóa final nằm sau static và access modifier.

Khi một biến có final, người ta còn gọi là constant (hằng số)

Một vài ví dụ
1. Với biến

X7JhRbM.png

Trong ảnh trên, mình đã khởi tạo hằng số thoiGian. Vì vậy mà đoạn code sau mình không thể thay đổi giá trị của biến đó được!

Nhưng một ngoại lệ với Constructor
Fr2fQ6R.png

Java không bắt buộc bạn phải khởi tạo giá trị của biến nếu bạn làm điều đó trong Constructor.
Lý do: Cái biến trên là Instance variable, nó thuộc về Object. Khi Object khởi tạo thì sẽ qua Constructor. Khởi tạo trong Constructor và khởi tạo trực tiếp trong biến là giống nhau.

2. Với method
hdeJbtn.png

Method có final sẽ ngăn chặn khả năng kế thừa (như ảnh trên)

3. Với Class
TwCEAUU.png

Tương tự với Method, Class có final sẽ ngăn khả năng thừa kế

Chú ý về hằng số
Hằng số chỉ ngăn chặn khả năng chỉnh sửa chứ vẫn cho phép các bạn truy cập chúng.
Gỉa sử mình tạo một Object và gán vào một hằng số, thì mình vẫn được thay đổi các Variable bên trong Object đó!

Vậy khi nào dùng final?
Khi cần lưu trữ dữ liệu mang tính tuyệt đối (luôn đúng), không thay đổi được.
Ngoài ra nếu bạn chỉ khởi tạo Object một lần thì hãy đặt chúng vào hằng số hơn là Variable bình thường.
Dùng final sẽ giúp cải thiện hiệu suất! (stackoverflow.com)
 
Similar content Most view Xem thêm
Back
Top Bottom