java中如何以给定的字符串为名字创建某个类的实例?
1个回答
展开全部
可以用反射根据给定的类名来动态生成实例
比如你定义了一个类
package sample;
/**
* Created by pseudo on 15-9-16.
*/
public class TestClass {
private String name;
public TestClass(String name) {
this.name = name;
}
@Override
public String toString() {
return "TestClass{" +
"name='" + name + '\'' +
'}';
}
}
然后使用如下代码创建这个类的一个实例
public static void main(String[] args) throws Exception{
//加载要反射的类
Class clz = Class.forName("sample.TestClass");
//找到类的构造方法
Constructor constructor = clz.getDeclaredConstructor(String.class);
//使用找到的构造方法创建实例
Object instance = constructor.newInstance("Lilei");
System.out.println(instance);
}
这个instance就是需要的结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询