java中如何以给定的字符串为名字创建某个类的实例?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何以给定的字符串为名字创建某个类的实例?相关的知识,希望对你有一定的参考价值。

参考技术A

可以用反射根据给定的类名来动态生成实例

比如你定义了一个类

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就是需要的结果

以上是关于java中如何以给定的字符串为名字创建某个类的实例?的主要内容,如果未能解决你的问题,请参考以下文章

bat命令创建以日期为名的文件夹

如何检查类的给定实例是不是属于python中的主类? [复制]

如何在Java中获取给定类的数组类?

File--字节流--字符流

新建以自己学号为名字的目录,并在此目录中生成(学号%1000)个文件,并证明生成了相应个文件。

Java反射:通过输入名称获取给定类的实例?