基本的“带有公共获取器和设置器的私有字段,除了返回或设置字段之外什么都不做”模式在封装方面确实是毫无意义的,除了它为您提供了以后无需更改API即可对其进行更改的机会。因此,请不要随意使用该模式。仔细考虑您实际需要的操作。getter和setter的真正意义在于,仅应在适当的地方使用它们,并且它们不仅可以获取和设置字段,还可以做更多的事情。你只能有一个吸气剂。然后,该属性为只读。实际上,这应该是最常见的情况。您只能有一个setter,使该属性可配置,但要传达的是,其他任何内容都不应该取决于它的值一个getter可以从多个字段计算一个值,而不是返回一个字段。吸气剂可以制作防御性副本吸气剂可以延迟执行昂贵的获取操作,并使用字段来缓存值设置员可以进行健全性检查并抛出 IllegalArgumentException设置员可以将值的更改通知侦听器您可以有一个将多个字段设置在一起的设置器,因为它们在概念上属于在一起。这不符合JavaBeans规范,因此如果您依赖期望JavaBeans的框架或工具,则不要这样做。否则,这是一个有用的选项。所有这些都是隐藏在简单的“ getter and setter”界面后面的实现细节。这就是封装的意义。