我正在研究以下示例以学习不变模式:
公共最终班ImmutableStudent {
private final int ID;
public ImmutableStudent (int ID)
{
this.ID = ID;
}
public final int getID()
{
return ID; .
}
public static void main (String[] args)
{
ImmutableStudent student1 = new ImmutableStudent(1234);
// error
student.ID = 70;
}
}
我需要了解在构造函数中如何使用this
关键字。我认为在此使用this关键字是为了确保传递给构造函数的值分配给实例变量ID,而不是如果构造函数中存在局部变量,则是对的吗?
还有一件事,不可变模式的解决方案之一是:如果一个方法将修改实例变量,则它应该返回该类的新实例。请有人解释这句话。