dan*_*ben 14
getter是一种获取属性值的方法.setter是一种设置属性值的方法.关于它们的功效有一些争论,但要点通常是:
为了完整的封装
在内部细节发生变化时保持一致的界面
更有用的是当您需要在获取或设置时添加一些逻辑,比如在编写之前验证值.
getter/setter用于隐藏私有字段以进行宣传(您可以避免直接访问字段).
getter允许您在内部字段中使用之前检查提供的值.setter允许您例如应用不同的格式或仅限制写访问(例如,对派生类).
getter的一个有用的应用程序可能是某种延迟加载:后备字段(getter隐藏的私有字段)被初始化为null.当您要求getter返回值时,它将检查null并使用更耗时的方法加载该值.这只会在第一次调用时发生,之后getter将始终提供已经加载的值.