可变类:当你获取一个类的实例后,你可以修改这个实例的内容;

不可变类:当你获取一个类的实例后,你不可以修改这个实例的内容。不可变类一旦创建,其内的成员变量就不能被修改。

创建不可变类的步骤:

1、所有成员变量都是PRIVATE;

2、不提供成员的SET方法;

3、确保所有方法不被重载,FINAL CLASS(强不可变类);所有的方法上面加上FINAL(弱不可变类);

4、如果一个类成员不是原始变量或不可变类,必须在初始化及访问时使用深度COPY,来确保类不可变。