【发布时间】:2014-07-27 19:41:33
【问题描述】:
我有一个包含 Employee 对象的类 X。我想让 X 类成为不可变的。现在,即使我将 Employee 对象声明为 final,Employee 类也独立存在,人们可以访问该特定雇员对象的 setter 方法。是否可以有一个普通的 Employee 类和另一个持有 Employee 的不可变类 X,但是一旦分配了 Employee 的值我们就不能改变它?
public final class X {
private final Employee emp;
public X (Employee e){
this.emp = e;
}
public Employee getEmp(){
return emp;
}
}
我不想让它不可变的员工类,只是想让 X 类不可变。因此,一旦分配了员工,就不应该允许它改变它。 在不使 Employee 类不可变的情况下,这是否可能。 我希望 Employee 类独立存在,所以不想将其建设私有化。
【问题讨论】:
标签: java immutability