所以我通过在没有问题的情况下搜索jar文件创建了一个类的实例,我将它设置为使用c.newInstance()创建一个实例(实例是在这里使用的正确单词吗?)
稍后在程序中,如果发生某个事件,我可能想要创建该类的另一个实例。如何在不找到所有Jar文件的情况下创建它,直到找到合适的文件然后再创建它?如果我仍然有对第一个的引用,有没有办法以某种方式创建它?
请假设我不知道将在运行时加载的类的名称,并且将会加载多个类。
由于
答案 0 :(得分:4)
保存对对象类的引用
Class c = dynamicObject.getClass();
和
你可以创建一个这样的新实例(假设有一个无参数构造函数)
Object anotherDynamicObject = c.newInstance(); // you can cast accordingly
否则,说有一个带有int的consturctor,你可以做
Constructor constructor = c.getConstructor(int.class);
Object anotherDynamicObject = constructor.newInstance(1);
答案 1 :(得分:2)
假设“x”是您创建的对象......
x.getClass().newInstance();