不可变类:创建该类的实例后,该实例的属性是不可改变的。
java提供的包装类和java.lang.String类都是不可变类。当创建它们的实例后,其实例的属性是不可改变的。
自定义一个不可变类
Class Name
{
private String firstName;
private String lastName;
public Name(String firstName ,String lastName)
{
this.firstName = firstName ;
this.lastName = lastName ;
}
public String getfirstName()
{
return firstName ;
}
public String getlastName()
{
return lastName ;
}
}
1.使用private 和final修饰符修饰变量。
2.提供带参数的构造器用于根据参数来初始化类里的属性。
3.仅为该类的属性提供getter方法,不提供setter方法。
4.如果有必要,重写Object类中的equals方法和hashCode方法
|