java - 我必须在 Java 中自己的类中使用 getter 方法吗?

标签 java coding-style getter getter-setter private-members

假设我有一些类(class):

public class A {
    private int val = 0;

    public int getVal() {
        return val;
    }

    public void addFrom(A otherA) {
        this.val += otherA.val;
        if (otherA.val > 0)
            otherA.val = 0;
        else
            otherA = Math.abs(otherA.val);
    }
}

我应该使用 getter 方法来代替 otherA 的 val 变量吗?这样做是更好的风格吗?

编辑:这是一个非常简化的类版本,需要很长时间才能阅读。但是假设正在进行延迟初始化,还有其他方法可以访问此类,等等。我已经更新了示例方法,以便这可能更清楚,但我希望很清楚我的问题涉及访问其他对象的变量,并想知道对非“this”的内容使用直接变量访问是否是错误的行为。

最佳答案

不,绝对不是。

当您位于类的成员内部时,您应该直接使用该变量,并在其他所有情况下使用 getter(当您会收到错误时,因为 val 无论如何都是私有(private)的)。

关于java - 我必须在 Java 中自己的类中使用 getter 方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13386799/

相关文章:

java - 如何在黑莓应用程序中制作屏幕转换效果?

java - 如何清理重复的 if 语句

c# - setter/getter 中的对象创建是不好的做法吗?

domain-driven-design - DDD 和 Getter 和 Setter 的使用

java - 通过单击 JMenuBar 打开新容器?

java - 计算最小值与计算最大值

java - Android 从相机获取 URI

Qt的QList : which is the canonical form of getting the number of items in a list?

Java Eclipse 屏幕上出现奇怪的标记

java - 类中的 getter 和 setter?