使用 getter 和 setter(仅获取和设置)而不是简单地为这些变量使用公共字段有什么好处?
如果 getter 和 setter 所做的不仅仅是简单的 get/set,我可以很快弄清楚这一点,但我不是 100% 清楚如何:
public String foo;
比以下更糟糕:
private String foo;
public void setFoo(String foo) { this.foo = foo; }
public String getFoo() { return foo; }
而前者需要更少的样板代码。
原文由 Dean J 发布,翻译遵循 CC BY-SA 4.0 许可协议
实际上 有很多充分的理由 考虑使用访问器 而不是直接公开类的字段——不仅仅是封装的论点和使未来的更改更容易。
以下是我知道的一些原因: