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

Tại sao một biến cuối cùng trống phải được khởi tạo rõ ràng trong tất cả các hàm tạo Java?

Biến cuối cùng còn lại mà không có khởi tạo được gọi là biến cuối cùng trống .

Nói chung, chúng tôi khởi tạo các biến cá thể trong hàm tạo. Nếu chúng ta bỏ lỡ, chúng sẽ được khởi tạo bởi các hàm tạo theo các giá trị mặc định. Tuy nhiên, các biến trống cuối cùng sẽ không được khởi tạo với các giá trị mặc định. Vì vậy, nếu bạn cố gắng sử dụng một biến cuối cùng trống mà không khởi tạo trong hàm tạo, lỗi thời gian biên dịch sẽ được tạo ra.

Ví dụ

public class Student {
   public final String name;
   public void display() {
      System.out.println("Name of the Student: "+this.name);
   }
   public static void main(String args[]) {
      new Student().display();
   }
}

Lỗi thời gian biên dịch

Khi biên dịch, chương trình này tạo ra lỗi sau.

Student.java:3: error: variable name not initialized in the default constructor
   private final String name;
                        ^
1 error

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 có nhiều hơn một hàm tạo được cung cấp trong lớp, bạn cần khởi tạo biến cuối cùng trống trong tất cả các hàm tạo.

Ví dụ

public class Student {
   public final String name;
   public Student() {
      this.name = "Raju";
   }
   public Student(String name) {
      this.name = name;
   }
   public void display() {
      System.out.println("Name of the Student: "+this.name);
   }
   public static void main(String args[]) {
      new Student().display();
      new Student("Radha").display();
   }
}

Đầu ra

Name of the Student: Raju
Name of the Student: Radha