Java : ファクトリーとか

[id:lethevert:20060204:p4]
内部クラスを上手く使おうシリーズです。
今回のは、先のインターフェースをnewする話ではないですが、インターフェースのファクトリーを作るのに非常に使えそうなテクニックです。

public interface Something {
  //インターフェースに属するメソッド
  int get();
  
  //ファクトリー
  class Factory {
    public static
    Something create() {
      return new ThatThing(); //適当な実装クラス
    }
  }
}

作りたいインスタンスの種類に応じて、Factory, Singletonなどとクラス名をかえておくことで、より分かりやすくなるのではないかと思います。
ちなみに使い方は、下のように。

Something it = Something.Factory.create();

シングルトンならこんな感じ?

TheThing it = TheThing.Singleton.get();