🎯
【Java】クラス解説26・thisの使い方1
thisの使い方1
インスタンス変数とローカル変数(変数や仮引数など)が同名の時に、インスタンス変数にthisを付けることにより、インスタンス変数を明示的に区別します。
「thisの使い方1」のコード例
public class Main {
public static void main(String... args) {
// インスタンス生成(コンストラクタ呼び出し)
MyClass mc = new MyClass(24);
// メソッド呼び出し
mc.setValue(24);
System.out.println(mc.getValue());
}
}
class MyClass {
// このvalueはインスタンス変数
private int value;
// コンストラクタ
// このvalueは仮引数でありローカル変数
public MyClass(int value) {
// 左辺のvalueはインスタンス変数、右辺のvalueは変数でありローカル変数
this.value = value;
}
// セッター(メソッド)
// このvalueは仮引数でありローカル変数
public void setValue(int value) {
// 左辺のvalueはインスタンス変数、右辺のvalueは変数でありローカル変数
this.value = value;
}
// ゲッター(メソッド)
public int getValue() {
// このvalueはインスタンス変数
return this.value;
}
}
コード例の解説
public class Main {
public static void main(String... args) {
MyClass mc = new MyClass(24);
mc.setValue(24);
System.out.println(mc.getValue());
}
}
Mainクラスで、
- MyClassのインスタンスを生成し変数mcに代入し、実引数で数値の
24
を渡すコンストラクタを呼び出します。 - MyClassのインスタンスから、実引数で数値の
24
を渡すセッターを呼び出します。 - MyClassのインスタンスから、ゲッターを呼び出し返り値を標準出力に出力します。
以下、MyClassで、
private int value;
- int型のインスタンス変数valueを宣言します。
public MyClass(int value) {
this.value = value;
}
-
24
を受け取る仮引数valueのコンストラクタを定義します。 - 左辺のインスタンス変数valueに、
24
が渡された変数valueを代入します。
public void setValue(int value) {
this.value = value;
}
-
24
を受け取る仮引数valueのセッターを定義します。 - 左辺のインスタンス変数valueに、
24
が渡された変数valueを代入します。
public int getValue() {
return this.value;
}
- ゲッターを定義します。
- 戻り値としてインスタンス変数valueを返します。
Discussion