这个问题困惑了我一段时间。可以直接访问的公共(public)属性还是带有 getter 的私有(private)属性?哪个更好/正确,为什么?
最佳答案
直接公开字段被认为是一种不好的做法。
最好保持字段私有(private),只暴露 getter 和 setter。一个优点是您可以为 getter 和 setter 选择不同的访问级别,而字段只有一个访问级别。使用 getter 的另一个优点是它允许您在不更改类接口(interface)的情况下更改实现。
更好的做法是尽可能避免使用 getter 和 setter。而是使用封装更高级别行为的方法。这是因为对象不应该篡改其他对象的内部状态(通过直接访问字段,或通过 getter 和 setter 间接访问)。
相关
关于java - 公共(public)属性(property) VS 私有(private)属性(property)与 setter/getter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8002928/