Java 中建立 final 物件有兩種方法:宣告 final 變數或使用 final 修飾符宣告類別。宣告 final 變數時,物件透過初始化器建立;宣告 final 類別時,該類別實例不可變。重要的是,final 物件的引用仍然可以改變,但它們指向的物件不可變。
Java 中建立 final 物件的方式
在 Java 中,final 關鍵字用來宣告不可變的物件。這意味著一旦創建了 final 對象,就不可能更改其狀態。這對於建立線程安全類別和防止意外修改敏感資料非常有用。
建立final 物件有兩種主要方法:
1. 宣告final 變數
最簡單的方法是宣告一個final 變數並將其初始化為物件:
public class FinalObjectExample { private final String name; public FinalObjectExample(String name) { this.name = name; } public String getName() { return name; } }
2. 使用final 修飾符宣告類別
另一種方法是使用final 修飾符宣告整個類別。這意味著該類別的實例不可變:
public final class ImmutableClass { private final String value; public ImmutableClass(String value) { this.value = value; } public String getValue() { return value; } }
要記住的重要一點是,final 物件的參考本身仍然可以是可變的。這表示您可以將 final 物件的參考指派給不同的變數:
FinalObjectExample obj1 = new FinalObjectExample("John"); FinalObjectExample obj2 = obj1; obj2.getName(); // 返回 "John"
但是,您仍然無法修改 obj1 或 obj2 引用指向的物件。
實戰案例
考慮一個用於儲存敏感資料的類別:
public class SensitiveData { private final int id; private final String value; public SensitiveData(int id, String value) { this.id = id; this.value = value; } public int getId() { return id; } public String getValue() { return value; } }
透過宣告該類別為final,我們可以確保資料正在創建後保持不變,從而提高安全性。
以上是Java中final物件的創建方式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!