Computer >> Máy Tính >  >> Lập trình >> Java

Một biến cuối cùng có thể được khởi tạo khi một đối tượng được tạo trong Java không?

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ó.