引用私有变量时,是否需要this.variableName声明?

时间:2016-03-24 00:23:58

标签: java variables constructor return private

public class sample {
    private int x = 3;
    public sample() {}
    public sample(int num) {
        this();
        x = num;
    }

    public int getX() {
        // should I use return this.x; or just return x;? Does it matter which one?
    }
}

我使用了返回x;直到现在我的代码中的样式,我想知道是否使用return this.x;提供任何好处,或者纯粹是为了可读性/清晰度。如果这看起来含糊不清或令人困惑,我的道歉,我真的不知道怎么说它。

2 个答案:

答案 0 :(得分:2)

考虑setX(int x),为了消除参数x和字段x之间的歧义,您需要编写类似

的内容
public void setX(int x) {
    this.x = x;
}

否则(如果x不是shadowed),则您无需指定this隐式)。

public int getX() {
    return x; // <-- same as return this.x;
}

答案 1 :(得分:2)

没有。您应该只能使用return x;。您在技术上使用this.x的唯一原因是,如果方法中有局部变量x