1、使用private和final修饰符来修饰该类的属性。
2、提供带参数构造器,用于根据传入的参数来初始化类里的属性。
3、仅为该类提供getter方法,不要为该类提供setter方法,因为普通方法无法修改final修饰的属性。
4、如果有必要,重写Object类里的equals方法和hashCode方法。
public class Address{
private final String detail;
private final String postCode;
public Address(String detail,String postCode){
this.detail = detail;
this.postCode = postCode;
}
public String getDetail(){
return this.detail;
}
public String getPostCode(){
return this.postCode;
}
public boolean equals(Object obj){
if(obj instanceof Address){
Address ad = (Address) obj;
if(this.getDetail().equals(ad.getDetail())&&this.getPostCode().equals(ad.getPostCode())){return true;}
return false;
}
}
public int hashCode(){
return detail.hashCode()+postCode.hashCode();
}
}
黑马程序员_如何定义不可变类
最新推荐文章于 2022-10-13 23:49:09 发布