HOME > 局所クラス(LocalClass)

局所クラス(LocalClass)

Javaではメソッドの中にクラスを定義することができ、局所クラスとかローカルクラスと呼びます。
ある特定のメソッド内でしか使わないクラスなどを定義します。

※クラスの直下に作成するクラスのことは内部クラスと呼びます。


【局所クラスの特徴】
 ・局所クラスは、同じメソッド内でのみ使用可能。
 ・局所クラスから外側のメソッドやメンバ変数を参照することは可能。
 ・局所クラスの修飾子は、abstractまたはfinalのみ指定可能。

サンプルソース

 局所クラスサンプル

public class LocalClassSample {

    //外側クラス・メンバー変数
    private String str = "外部メンバ変数です。";

    //外側クラス・メソッド1
    public void method1(){

        //局所クラス
        class KyokusyoClass{
            void print(){
                System.out.println(str);     //外側クラスのメンバ変数呼出
                Kyoku.this.method2();        //外側クラスのメソッド呼出
            }
        }

        KyokusyoClass kc = new KyokusyoClass();    //局所クラスの生成
        kc.print();
    }

    //外側クラス・メソッド2
    public void method2(){
        System.out.println("外部メソッドです。");
    }

    //外側クラス・メソッド3
    //public void method3(){
    //    KyokusyoClass lc = new KyokusyoClass();
    //    ↑他メソッドの局所クラスは参照不可
    //}

}


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

実行結果

 コマンドプロンプト

C:\>java Test
外部メンバ変数です。
外部メソッドです。


Java基本カテゴリ