不可变对象和类
如果一个类是不可变的,那么他的所有数据域必须是私有的,而且没有对任何一个数据域提供公共的set方法。
但反过来,却不是一定成立!
实例:
使用getDateCreated()方法返回数据域dateCreated。它是对Dtae对象的一个引用。通过这个引用,可以改变dateCreated的值。(修改器在Date类里)
所以要想一个类成为不可变的,必须要:
①所有数据域必须是私有的
②没有修改器(set方法)
③没有一个返回指向可变数据域的引用的访问器方法(get方法)。
变量的作用域
类的变量和方法都可以在类中以任意顺序出现,但是当一个数据域是基于对另一个数据域的引用来进行初始化时则不是这样。