对于一些退化类(没有什么作用,只是用来集中实例域,也可认为是Java Bean)。
如果这样的类是公有类,也就是我们希望客户端代码可以访问这些退化类的实例域,不应该直接使用public来暴漏这些数据域,
而是应该私有域和公有设值方法(setter)来代替。这样做的好处是,如果我们一旦需要改变这个退化类的内部结构,客户端
代码所受的影响最小。否则,如何客户端代码直接使用公有的数据域,这样的代码遍布各处,我们再修改退化类,就很困难了。
如果这样的类是包级私有的,或者是私有的内部类,也就是说这个退化类,只有在包内才能使用,或者外部类才能使用,客户端
代码是无法接触到的,直接暴露它的数据域并没有什么本质错误,有时候也是需要这样做的。
公有类永远都不应该暴漏可变的域。虽然还是有问题,但是让公有类暴露不可变的域(final)其危害比较小。