HOME > this
this
thisキーワードは、自分自身を明示的に示したい場合に使います。
thisを使うと次のようなことができます。
・コンストラクタ内から自クラス内の他のコンストラクタを呼ぶ
・自クラス内のメソッドやメンバ変数を呼ぶ
サンプルソース
例)thisで他コンストラクタを呼び出すサンプル
- SampleClass.java
-
public class SampleClass { public SampleClass(){ System.out.println("Const"); } public SampleClass(String str){ this(); //引数無しコンストラクタを呼び出している System.out.println("Const_Str"); } }
- Test.java
-
//★実行用クラス public class Test { public static void main(String args[]){ SampleClass sb = new SampleClass("hoge"); } }
実行結果
- コマンドプロンプト
- C:\>java Test Const Const-Str
引数ありコンストラクタでnewしても、コンストラクタ内のthisによってデフォルトコンストラクタが呼ばれているのがわかります。
コンストラクタから別のコンストラクタをthisで呼び出す場合は、thisをコンストラクタの先頭に記述する必要があります。
例)thisでメソッドやメンバ変数を呼ぶ
- SampleClass.java
-
public class SampleClass { private String str; public void fnc(){ System.out.println("fnc"); this.str = "hoge"; //メンバ変数「str」にhogeを代入 this.fnc2(); //メソッド「fnc2()」を呼び出し } public void fnc2(){ System.out.println("fnc2"); System.out.println(str); } }
- Test.java
-
//★実行用クラス public class Test { public static void main(String args[]){ SubClass sb = new SubClass(); sb.fnc(); } }
実行結果
- コマンドプロンプト
- C:\>java Test fnc fnc2 hoge
thisは省略しても構いません。