クラスのメンバ関数呼び出しの際には、
内部でそのクラスオブジェクトの参照が渡されています。
このおかげで、メンバ関数内からクラスのメンバ変数に
アクセスできる仕掛けになっています。
class Ctest {
public int data;
public void show() {
System.out.printf("data = %d\n", data);
}
}
public class Cmain {
public static void main(String[] args) {
Ctest a = new Ctest();
a.show();
}
}
この例では、
メンバ関数showの中でメンバ変数dataが使われていますが、
これもthisキーワードのおかげ、と言うワケです。
this付きで記述してもかまいません。
thisを付けると、
そのクラスのメンバである事がハッキリと分かるのが利点です。
thisキーワード付きでの記述例
class Ctest {
public int data;
public void show() {
System.out.printf("data = %d\n", this.data);
}
}
public class Cmain {
public static void main(String[] args) {
Ctest a = new Ctest();
a.show();
}
}