java中如何以给定的字符串为名字创建某个类的实例?
答案:1 悬赏:0 手机版
解决时间 2021-03-29 03:41
- 提问者网友:感性作祟
- 2021-03-28 16:26
java中如何以给定的字符串为名字创建某个类的实例?
最佳答案
- 五星知识达人网友:山有枢
- 2021-03-28 17:27
可以用反射根据给定的类名来动态生成实例
比如你定义了一个类
package sample;
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就是需要的结果
比如你定义了一个类
package sample;
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就是需要的结果
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯