Khi bạn khai báo một biến cuối cùng, sau khi khởi tạo nó, bạn không thể sửa đổi thêm giá trị của nó. Hơn nữa, giống như các biến phiên bản, các biến cuối cùng sẽ không được khởi tạo với các giá trị mặc định.
Do đó, bắt buộc phải khởi tạo các biến cuối cùng sau khi bạn khai báo chúng . Nếu không, lỗi thời gian biên dịch sẽ được tạo ra.
Ví dụ
public class FinalExample { final int j; public static void main(String args[]){ FinalExample obj = new FinalExample(); System.out.println(obj.j); } }
Lỗi thời gian biên dịch
FinalExample.java:5: error: non-static variable j cannot be referenced from a static context System.out.println(j); ^ 1 error
Khởi tạo biến cuối cùng
Bạn có thể khởi tạo biến cuối cùng theo 4 cách -
Trong khi khai báo.
public class FinalExample { final int j = 100; public static void main(String args[]){ FinalExample obj = new FinalExample(); System.out.println(obj.j); } }
Đầu ra
100
Sử dụng các phương pháp cuối cùng.
import java.util.Scanner; public class FinalExample { final int num = getNum(); public static final int getNum() { System.out.println("Enter the num value"); return new Scanner(System.in).nextInt(); } public static void main(String args[]){ FinalExample obj = new FinalExample(); System.out.println(obj.num); } }
Đầu ra
Enter the num value 20 20
Sử dụng Trình tạo
public class FinalExample { final int num; public FinalExample(int num) { this.num = num; } public static void main(String args[]){ FinalExample obj = new FinalExample(20); System.out.println(obj.num); } }
Đầu ra
20
Sử dụng các khối khởi tạo Phiên bản
public class FinalExample { final int num; { num = 500; } public static void main(String args[]){ FinalExample obj = new FinalExample(); System.out.println(obj.num); } }
Đầu ra
500
Ngoại trừ trường hợp của phương thức cuối cùng, nếu bạn khởi tạo biến cuối cùng theo cả ba cách còn lại thì biến đó sẽ sớm được khởi tạo, bạn khởi tạo lớp của nó.