私はJavaで 'this'の使用を本当に理解していません。誰かが私を明確にするのを助けることができたら、私は本当にそれを感謝します。インスタンスメソッドまたはコンストラクタ内http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html誰かが私に「これ」の使用を詳しく説明できますか?
」、これは現在のオブジェクトへの参照です - そのメソッドまたはコンストラクタが呼び出されているオブジェクトあなたは、任意のメンバーを参照することができます。このウェブサイト上の
それが言います。これを使用してインスタンスメソッドまたはコンストラクタ内から現在のオブジェクトを取得します。
、それは次の例得られます、しかし
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
:たとえば
を、Pointクラスは、この
public class Point {
public int x = 0;
public int y = 0;
//constructor
public Point(int a, int b) {
x = a;
y = b;
}
}
のように書かれていたが、それはこのように書かれている可能性が私はまだ、なぜx = aがthis.x = xと書かれているのか完全に理解していないのですか?それはなぜthis.x = aではないのですか?左のxはなぜですか?
私は申し訳ありませんが、私はJavaにとって非常に新しいです。私は専門家を退屈して謝罪します。
2番目の例では、コンストラクタへのパラメータの名前は 'a'と' b'ではなく 'x'と' y'であるため、 'this.x = a'と言っても意味がありません。 aが存在する。あなたの最初の例では、 'this.x = a'と' this.y = b'は完全に受け入れられます。 'this'は、同じ名前の変数を区別する一般的な方法として使用されます.2番目の例のように、' x = x'と書いただけでは、コンパイラは 'x'がどれであったかを知ることができません。 –