Sar*_*ara 2 java utility-method
可能重复:
为什么要使用getter和setter?
我知道这非常微不足道.但是为什么我们定义私有,然后我们使用getter和setter.这更像是为了防止程序员在使用私有变量或方法时出错吗?或者是出于安全考虑.如果出于安全考虑,那么拥有吸气剂或制定者有什么意义呢?我知道我们可以在getter和setter中有限制但是那些if子句主要是为了防止错误而不是隐私限制.例如,我们通常不会说这些成员使用if子句限制对此方法的访问.
谢谢.
Ern*_*ill 11
对每个变量进行自动,不假思索的创建getX()
和setX()
方法的做法很糟糕.正如你所观察到的那样,它几乎毫无意义.
但这是不假思索的部分.方法是远比暴露变量更好,因为,同样,当你看到,你可以控制如何底层的数据被访问.如果你考虑你正在做什么,并适当地应用mutators和accessors,它们是一个很棒的工具:
synchronized
访问器确保跨线程的严格内存排序.这些只是你可以用mutator和accessors做的一些事情.通过使用它们,您可以轻松更改软件并易于维护.