如何在 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
廣告