Java:直接从同一类的另一个实例访问私有(private)字段

标签 java scope private member

我正在为类编写一个 equals(Object obj) 函数。我看到可以从调用者访问 obj 的私有(private)字段。所以不要使用 setter/getter :

Odp other = (Odp) obj;
if (! other.getCollection().contains(ftw)) {

}

我可以直接访问该字段:

Odp other = (Odp) obj;
if (! other.collection.contains(ftw)) {

}

这是不好的做法吗?

最佳答案

我总是倾向于使用 getter,因为有时 getter 不仅仅是“return(foo)”。有时,如果它们为空,它们会初始化它们,或者在其中进行一些调试日志记录,或者以某种方式验证当前状态。它更一致。

关于Java:直接从同一类的另一个实例访问私有(private)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1548879/

相关文章:

java - Swing 模糊拖动图像

java - 禁用 Java 列表中的可变性

list - 宏观范围内的Cmake全局变量

javascript - 在严格模式下复制 arguments.callee

delphi - Delphi中单元文件的使用方法

php - 在网站上检查用户新私有(private)消息的最佳方式?

c# - 使用通过私有(private)构造函数返回新实例的静态方法有优势吗?

java - 如何使用 setter 和 getter 方法获取对象的对象数组及其响应

java - 写入 ObjectOutputStream 并返回垃圾

javascript - 事件处理程序范围外的变量