リフレクションサンプル

[2006/12/05]

リフレクションパッケージを用いるとクラスに関する情報を取得することができ,文字列からクラスを生成するようなこともできます.
import java.lang.reflect.*;

class Hoge {
  public Hoge(String x) {
    // public でないと getConstructor で検出できない
    System.out.println("コンストラクタ("+x+")");
  }
}

public class Bar {
  public static void main(String args[]) {
    try {
      Class cls=(Class)Class.forName("Hoge");
      Constructor cns=cls.getConstructor(new Class[]{String.class});
      Hoge x=cns.newInstance(new Object[]{new String("Hello")});
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

リンク


上へ