2016-03-24 13 views
0
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? 
    } 
} 

私はreturn xを使用しました。私のコードでは今までスタイルを使用していました。それが純粋に可読性/明瞭性を目的としていた場合は、私の謝罪もしこれがあいまいで混乱しているようであれば、それ以外の言葉は本当にわかりません。プライベート変数を参照するとき、this.variableName宣言が必要ですか?

+2

なぜあなたは試してみませんか?また、なぜあなたは 'this();と呼ぶのですか? –

+0

プリセットクラスには、コードスニペットには含まれていなかったものがありました。なぜなら、実際には関係ないからです。そして、私はいつもそれをやっているだけですが、代わりに多くの人々がthis.xをやっていることに気付き、何か有益かどうか疑問に思っています。 –

答えて

2

は、パラメータxとフィールドxあなたは、あなたがする必要はありません、(xshadowedない場合)それ以外の場合は

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

のようなものを書く必要があるだろうとの間で明確にするために、setX(int x)考えてみましょうthis暗黙的)と指定します。

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

人々は、プライベート変数と同じ名前のローカル変数を使用するのが一般的ですか、それとも一般的に回避されるものですか? –

+1

@JavaTheHutt私はそれが突然変異体では珍しくないと言います。しかし、スタイル・ガイドがフィールドにアクセスするときに常に 'this.x'を使用することを推奨することは珍しくありません。 –

2

いいえ、return x;を使用することができます。 this.xを技術的に使用する唯一の理由は、メソッド内にローカル変数xがあった場合です。

関連する問題