HOME > this

this

thisキーワードは、自分自身を明示的に示したい場合に使います。
thisを使うと次のようなことができます。

・コンストラクタ内から自クラス内の他のコンストラクタを呼ぶ
・自クラス内のメソッドやメンバ変数を呼ぶ

サンプルソース

【thisでコンストラクタを呼ぶ】

 他コンストラクタを呼び出すサンプル

public class SampleClass {

    public SampleClass(){
        System.out.println("Const");
    }

    public SampleClass(String str){
        this();    //引数無しコンストラクタを呼び出している
        System.out.println("Const_Str");
    }
}


★実行用クラス public class Test { public static void main(String args[]){ SampleClass sb = new SampleClass("hoge"); } }

 コマンドプロンプト

C:\>java Test
Const
Const-Str

引数ありコンストラクタでnewしても、コンストラクタ内のthisによってデフォルトコンストラクタが呼ばれているのがわかります。



【thisでメソッドやメンバ変数を呼ぶ】

 メソッドやメンバ変数を呼ぶ

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);
    }

}


★実行用クラス public class Test { public static void main(String args[]){ SubClass sb = new SubClass(); sb.fnc(); } }

 コマンドプロンプト

C:\>java Test
fnc
fnc2
hoge

※ちなみに、thisは省略しても構いません。


Java基本カテゴリ