java基础之实现不可变对象的策略

java基础之实现不可变对象的测试

1)不提供setter方法(包括修改字段、字段引用到的对象等方法)
2)将所有字段设置为final、private
3)将类修饰为final,不允许子类继承、重写方法,可以将构造函数设为private,通过工厂的方法创建
4)如果类的字段是对可变对象的引用,不允许修改被引用对象。
a、不提供修改可变对象的方法
b、不共享对可变对象的引用,对于外部传入的可变对象,不保存该引用。如果要保存可以保存复制后的副本;对于内部可变对象,不要返回对象本身,而是返回其复制后的副本。

猜你喜欢

转载自blog.csdn.net/qq_32403063/article/details/85952931