Trong bài viết này, chúng ta sẽ tìm hiểu sự khác biệt giữa từ khóa 'static' và 'final' trong Java.
Static
- Áp dụng cho: nested static class, variable, method, block
- KHÔNG bắt buộc khởi tạo khi khai báo
- Có thể gán lại giá trị (re-initialize)
- Chỉ truy cập được các member static của class
- Chỉ có thể gọi bởi method static khác
- Không thể tạo object của static class
- Static class chỉ chứa member static
- Dùng để khởi tạo biến static
Final
- Là từ khóa
- Dùng để áp dụng hạn chế cho class, method, variable
- Class final: không thể kế thừa
- Method final: không thể override
- Variable final: phải khởi tạo khi khai báo, giá trị không thể thay đổi