thisの利用
このページでは、thisの概要、利用方法について説明します。
概要、利用方法
thisは、自分自身のインスタンスを表す特別な変数で、宣言なしに利用できます。プログラム内で、自分自身のインスタンスのメンバ変数、メソッドであることを明示的に指定する場合に、「this.メンバ変数」、「this.メソッド」という形で使用します。
【例1】thisの使用例
class ExClass13{
//メンバ変数valueを宣言
private int value;
//引数に指定された値を100倍しメンバ変数valueに値をセットするメソッド
void setValue(int value) {
//引数に指定されたvalueと、メンバ変数valueを区別するため
//メンバ変数valueを「this.value」と明示的に指定
this.value = value * 100;
System.out.println(this.value);
}
}
メンバ変数をメソッド内で使用する場合、プログラムの可読性を考慮し、引数名をメンバ変数名と同じにするケースが見られます。上の例で、「this.value」とせず、「value」とした場合、引数に指定されたvalueと混同されプログラムが正しく動作しません。
そのような誤動作を防ぐためにも、「this」を指定し、引数の「value」ではなく、自分自身のインスタンスのメンバ変数であることを明示的に示すようにします。
thisはコンストラクタの呼び出しにおいても、特別な役割を持っています。詳細は、コンストラクタを参照してください。
11thisの利用