Javaちょこっとリファレンス
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は省略しても構いません。

このエントリーをはてなブックマークに追加

Java基本カテゴリ

HOMEへ戻る TOPへ戻る