• Trong thời gian này, bạn không thể tạo bài mới, đăng comment, hay tạo tài nguyên mới để diễn đàn dọn dẹp nội dung.
    Diễn đàn sẽ sớm mở trở lại, chi tiết hãy theo dõi tại Discord
anhcraft

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

  • Người tạo chủ đề Người tạo chủ đề anhcraft
  • Ngày gửi Ngày gửi
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! (https://stackoverflow.com/a/21485260/6459188)
 
Nội dung tương tự Xem nhiều nhất Xem thêm

Thống kê nội dung

Tạo
anhcraft,
Trả lời lần cuối từ
AnhTuann,
Trả lời
1
Lượt xem
318
Quay lại
Trên cùng