thisキーワードとは
thisキーワードは、自分自身を参照するために使用されるキーワードです。
thisを使用するとメソッドやコンストラクタ内から、自オブジェクトへの参照を取得できます。
thisキーワードの用途
thisキーワードは主に以下2つの用途があります。
- フィールド変数やメソッドを参照する
- コンストラクタを呼び出す
1.フィールド変数やメソッドを参照する
フィールド変数やメソッドを参照する場合、通常は変数名やメソッド名のみで参照できます。
しかし、同じ名前のフィールド変数とローカル変数が同時に存在する場合に、
明示的にフィールド変数の方を参照したい場合にthisを使用します。
- (thisを使って明示的にフィールド変数を参照する例)
-
public class TestClass { private String name; public void setName(String name) { this.name = name; } }
この例では、フィールド変数とメソッドの引数に同じnameという変数が登場していますが、
明示的にフィールド変数を参照するときにthisを指定しています。
2.コンストラクタを呼び出す
コンストラクタ内から別のコンストラクタを呼び出したい場合もthisキーワードを使用します。
- (thisを使ってコンストラクタを呼び出す例)
-
public class TestClass { public TestClass() { this("hoge"); } public TestClass(String name) { System.out.println(name); } }
この例では、引数なしのコンストラクタから引数ありのコンストラクタを呼び出しています。
このようにコンストラクタから別のコンストラクタを呼び出す時にthisを使用します。
注意点として、コンストラクタを呼び出すためのthisは
必ずコンストラクタ定義の先頭に記述する必要があります。
コメント