Nếu bạn khai báo một biến static và cuối cùng, bạn cần khởi tạo nó khi khai báo hoặc trong khối static. Nếu bạn cố gắng khởi tạo nó trong hàm tạo, trình biên dịch sẽ giả định rằng bạn đang cố gắng gán lại giá trị cho nó và tạo ra lỗi thời gian biên dịch -
Ví dụ
Lớpclass Data { static final int num; Data(int i) { num = i; } } public class ConstantsExample { public static void main(String args[]) { System.out.println("value of the constant: "+Data.num); } }
Lỗi thời gian biên dịch
ConstantsExample.java:4: error: cannot assign a value to final variable num num = i; ^ 1 error
Để làm cho chương trình này hoạt động, bạn cần khởi tạo biến tĩnh cuối cùng trong một khối tĩnh dưới dạng -
Ví dụ
Lớpclass Data { static final int num; static { num = 1000; } } public class ConstantsExample { public static void main(String args[]) { System.out.println("value of the constant: "+Data.num); } }
Đầu ra
Giá trịvalue of the constant: 1000