[英]How to create immutable class with mutable member variable(s)?
假設我有一個 Customer 類,它有一個 Address Class 的引用,我們可以通過使成員變量私有 final blah blah 來創建 Customer 類的對象。客戶類,現在我們如何使客戶類不可變? 在客戶類中制作這個地址引用是否足以使它成為一個不可變的類(客戶類的對象不可變)有人可以解釋一下嗎?
現在在場景中我們如何使 Customer 類的對象不可變? 以及客戶和地址之間的關系如何在內存中顯示?有人可以回答嗎?
public final class Customer{
private final String name;
private final Address address;
public Customer(String name, Address address){
this.name=name;
this.address= address;
}
public String getName(){
return this.name;
}
public String getAddress(){
return this.name;
}
}
public class Address{
private String streetName;
private Long pincode;
public void setStreeName(String streetName){
this.streetName = streetName;
}
public void setPincode(long pincode){
this.pincode = pincode;
}
public String getStreetName(){
return this.streeName;
}
public long getPincode(){
return this.pincode;
}
}
在上面的客戶類中,其他數據類型是原始的(不可變的),而地址類不是,所以在地址引用的getter方法中,我們應該返回一個新的地址對象,其屬性類似於客戶類中的地址引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.