Class.forName/newInstance - 文字列からインスタンスを生成
2009/02/12 18:12Update
文字列からインスタンスを生成する例です。
シンプルなサンプルから説明します。
Javaコード:
とても簡単な例なので、説明を省きます。
Javaコード:
package com.test.reflection;
public class TestReflection {
public static void main(String []args) {
String className = "com.test.reflection.MyClass";
try {
Class clazz = Class.forName(className); //文字列からClass取得
if (clazz != null) {
MyClass myClass = (MyClass)clazz.newInstance(); //Classによって新しいインスタンス生成
myClass.sayHello();
}
} catch (ClassNotFoundException e) { //by Class.forName
//指定した名称のクラス存在しなかった場合
e.printStackTrace();
} catch (InstantiationException e) { //by newInstance()
//インスタンス作成不可の場合(パラメータなしのコンストラクタ存在しない場合 - new Xxxx()でエラーの場合)
e.printStackTrace();
} catch (IllegalAccessException e) { //by newInstance()
//権限はないとき
e.printStackTrace();
}
}
}
class MyClass {
public void sayHello() {
System.out.println("Hello!");
}
}
とても簡単な例なので、説明を省きます。
Sponsored Link
Comments
- Relative Articles
- Javaクラスのコンストラクタメソッドの定義方法 - (2009/09/30 16:56)