利用反射传类名然后创建对象
时间: 2023-08-26 19:56:03 浏览: 111
可以通过反射来传递类名并创建对象。以下是一个示例代码:
```java
public class ReflectionExample {
public static void main(String[] args) {
String className = "com.example.MyClass"; // 替换为你的类名
try {
// 使用反射获取类对象
Class<?> clazz = Class.forName(className);
// 使用默认构造函数创建对象
Object obj = clazz.newInstance();
// 打印对象信息
System.out.println(obj);
} catch (ClassNotFoundException e) {
System.out.println("找不到指定的类:" + className);
} catch (InstantiationException | IllegalAccessException e) {
System.out.println("无法创建对象:" + e.getMessage());
}
}
}
```
在上面的示例中,`className` 变量存储了要创建对象的类的全名。通过 `Class.forName()` 方法获取类对象,然后使用 `newInstance()` 方法创建对象。请确保替换 `className` 变量为你要创建对象的实际类名。
需要注意的是,使用反射创建对象时,需要保证类具有可访问的默认构造函数。如果类没有默认构造函数,或者构造函数不可访问,那么将会抛出相应的异常。
阅读全文