如何在 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP