2007年10月15日月曜日

ローカルインナークラス

ローカルインナークラスはメソッドの中に定義する。
ローカールインナークラスのインスタンスをメソッド内に生成する。
アクセス修飾子は使用できない。final もしくは abstract を使用できる。
ローカルインナークラスから final 以外のローカル変数にアクセスできない。
ローカルインナークラスからアウタークラスのメンバーにアクセスできる。

<サンプル>
public class Sample {
    public static void main(String[] arvs) {
        final int x = 1;
        class Local {
            void func() {
                System.out.println(x);
            }
        }
        Local local = new Local();
        local.func();
    }
}

<出力結果>
1

0 件のコメント: