次のクラスを書くと:
public class Example {
int j;
int k;
public Example(int j, int k) {
j = j;
k = k;
}
public static void main(String[] args) {
Example exm = new Example(1,2);
System.out.println(exm.j);
System.out.println(exm.k);
}
}
プログラムはコンパイルされますが、プログラムを実行すると、メイン メソッドが 2 つの 0 を出力します。コンストラクターでインスタンス変数を初期化したいと言うには、次のように記述しなければならないことを知っています。
this.j = j;
this.k = k;
しかし、私がそれを書かない場合、どの変数がコンストラクターで評価 (または考慮) されますか? (式の左側と書き込み側)? 引数ですか、それともインスタンス変数ですか? 違いはありますか?
this
の使用が義務付けられている他のケースはありますか?