如何在 Java 中建立不可變類?


不可變類物件的屬性在初始化後不可修改。例如,String 是 Java 中的不可變類。我們可以按照以下規則建立一個不可變類:

  • 使類變為 final − 類應為 final,這樣它才無法被擴充套件。

  • 使每個欄位變為 final − 每個欄位應為 final,這樣它們才無法在初始化後進行修改。

  • 為每個欄位建立 getter 方法。 − 為每個欄位建立一個公共 getter 方法。欄位應為私有的。

  • 不為每個欄位建立 setter 方法。 − 不要為任何欄位建立公共 setter 方法。

  • 建立一個引數化建構函式 − 此類建構函式將用於一次初始化屬性。

在下例中,我們建立了一個不可變類 Employee。

示例

現場演示
public class Tester{
   public static void main(String[] args){ 
      Employee e = new Employee(30, "Robert");
      System.out.println("Name: " + e.getName() +", Age: " + e.getAge());
   }
}

final class Employee {
   final int age;
   final String name;

   Employee(int age, String name){
      this.age = age;
      this.name = name;
   }

   public int getAge(){
      return age;
   }
   public String getName(){ 
      return name;
   }
}

輸出

Name: Robert, Age: 30

更新於: 2019 年 7 月 30 日

588 次瀏覽

開啟您的 職業生涯

完成課程後獲得認證

開始
廣告