Javaでクラス名から反射でオブジェクトを生成する
Javaでは、リフレクションを使ってクラス名よりオブジェクト生成ができます。具体的には以下の手順で行います。
- オブジェクトを作成するクラス名を取得します。
- Class.forName()
- クラス
- newInstance()メソッド
サンプルコードを次に示します。
try {
// 获取要创建对象的类名
String className = "com.example.MyClass";
// 使用 Class.forName() 方法获取对应的 Class 对象
Class<?> clazz = Class.forName(className);
// 使用 newInstance() 方法创建对象
Object object = clazz.newInstance();
// 将 object 强制类型转换为具体的类类型
MyClass myObject = (MyClass) object;
// 使用创建的对象进行操作
myObject.doSomething();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
適切なクラス名を確実に指定し、関連する例外を処理する。