ローカルクラス(Local Class)

ローカルクラスとは

ローカルクラスはメソッドの中に定義したクラスのことです。
ローカルクラスは定義したメソッド内でのみ有効なクラスで、メソッド内の変数にアクセスすることができます。

ローカルクラスの定義方法にはクラス名を付けて定義する方法匿名で定義する方法があります。

クラス名を付けて定義する方法

ローカルクラスをクラス名を付けて定義するサンプルです。

(ローカルクラスの例)

public class OuterClass {

  void doMethod() {

    String name = "taro";

    class LocalClass {
      void display() {
        System.out.println("名前:" + name);
      }
    }

    LocalClass lc = new LocalClass();
    lc.display();
  }
}

匿名で定義する方法

匿名で定義するクラスは匿名クラスまたはアノニマスクラス(AnonymousClass)と呼びます。
匿名クラスは名前付けずに直接定義するインナークラスで、通常はインターフェースの実装や抽象クラスのサブクラスを匿名クラスとして定義します。

(匿名クラスの例)

public class OuterClass {

  interface SampleInterface {
    void doMethod();
  }

  void test() {
    SampleInterface si = new SampleInterface() {
      @Override
      public void doMethod() {
        System.out.println("匿名クラスです");
      }
    };

    SampleInterface.doMethod();
  }
}

コメント

タイトルとURLをコピーしました