从非 getter/setter 方法的对象方法中访问对象属性的“纯粹”或“正确”方法是什么?
String property = this.property;
或者你会这样做:
String property = this.getProperty();
最佳答案
没有正确的方法。这完全取决于具体情况:
使用
this.property
的主要原因是它消除了对 getter 和 setter 方法的需要。这减少了代码大小,这本身就是有益的,因为它降低了调试和维护的总体成本。使用
getProperty()
的主要原因是它可以让您对其余代码隐藏数据结构重构。例如,假设您出于某种原因决定将property
字段移动到嵌入对象foo
。然后您可以轻松地重新定义getProperty()
而不会影响任何其他代码:Object getProperty() { return foo.property; }
如果您使用 JPA 等框架,您还可以通过使用 getter 和 setter 来获得性能优势,因为 JPA 框架可以对这些框架执行其他方式无法实现的优化。
关于java - 从对象内部访问属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50238868/