要使一个类成为不可变的,必须满足下面的需求:
1.所有数据域都是私有的。
2.没有修改器方法。
3.没有一个访问器方法,它会返回一个指向可变数据域的引用。
当满足以下条件时,对象才是不可变的:
1.对象创建以后其状态就不能修改。
2.对象的所有域都是final类型
3.对象是正确创建的(在对象的创建期间,this引用没有溢出)
注释:从技术上来看,不可变对象并不需要将其所有数据域都声明为final类型。
要使一个类成为不可变的,必须满足下面的需求:
1.所有数据域都是私有的。
2.没有修改器方法。
3.没有一个访问器方法,它会返回一个指向可变数据域的引用。
当满足以下条件时,对象才是不可变的:
1.对象创建以后其状态就不能修改。
2.对象的所有域都是final类型
3.对象是正确创建的(在对象的创建期间,this引用没有溢出)
注释:从技术上来看,不可变对象并不需要将其所有数据域都声明为final类型。