有很多不可变的类, 例如String, Boolean, Byte, Short, Integer, Long, Float, Double等。总而言之, 所有包装器类和String类都是不可变的。我们还可以通过创建具有最终数据成员的final类来创建不可变类, 如下所示:
创建不可变类的示例
在此示例中, 我们创建了一个名为Employee的最终类。它具有一个最终的数据成员, 一个参数化的构造函数和getter方法。 |
public final class Employee{
final String pancardNumber;
public Employee(String pancardNumber){
this.pancardNumber=pancardNumber;
}
public String getPancardNumber(){
return pancardNumber;
}
}
上面的类是不可变的, 因为:
- 该类的实例变量是最终变量, 即创建对象后我们无法更改其值。
- 该类是最终的, 因此我们无法创建子类。
- 没有设置器方法, 即我们无权更改实例变量的值。
这些要点使该类不可变。
评论前必须登录!
注册