如果类可以在它所在包的外部进行访问,就提供访问方法。
如果类是包私有的,或者私有的嵌套类,直接暴露它的数据域并没有本质的错误。
总之,公有类永远都不应该暴露可变的域。虽然还是有几个问题,但是让公有类暴露不可变的域,危害比较小。但是,有时候需要会用到包级私有的或者私有的嵌套类来暴露域,无论这个类是可变还是不可变。
如果类可以在它所在包的外部进行访问,就提供访问方法。
如果类是包私有的,或者私有的嵌套类,直接暴露它的数据域并没有本质的错误。
总之,公有类永远都不应该暴露可变的域。虽然还是有几个问题,但是让公有类暴露不可变的域,危害比较小。但是,有时候需要会用到包级私有的或者私有的嵌套类来暴露域,无论这个类是可变还是不可变。