【Java】thisとは - 意味や使い方を解説
- 作成日:2022/01/20
- 更新日:2022/02/02
Javaのthisについて解説します。 コンストラクタで使うthis()についてはthisメソッドで解説しています。
thisとは
thisとは自分自身のインスタンスをさすJavaで定義された予約語です。 言葉だとわかりにくいのでソースコードを見てみましょう。
class testClass{
String tmp;
void tmp(){
this.tmp="aaa";
tmp="bbb";
};
}
7行目でthisを使っています。thisは自分自身(testClass)のインスタンスを指します。 8行目のように省略することもできます。
省略できるなら書く意味あるの?となりますよね。ではthisの使い方について解説します。
使い方
thisを使うケースはメンバー変数とローカル変数が同じ変数名の場合です。 例えば次のようなケースです。
class testClass{
String tmp="aaa";
void act(){
String tmp="bbb";
System.out.println(tmp);
System.out.println(this.tmp);
};
}
}
bbb
aaa
4行目でメンバー変数tmpを定義していますが、7行目でもローカル変数のtmpを定義しています。 変数名が同じだとローカル変数が優先されるので、9行目のようにtmpを指定しただけでは出力結果は「bbb」となります。
メンバー変数を優先させたい場合はthisを使い「this.tmp」のように書きます。 thisを使うことで「testClassインスタンスのtmp」という意味になるので、10行目の実行結果は「aaa」となります。