在Java中,这称为Reflection。
假设该类具有此构造函数,否则我相信您将获得NoSuchMethod异常。
clazz.asSubclass(asSubclassOfClass) .getConstructor(String.class,XYZ.class) .newInstance("howdy",XyzObj);既然您是Java的新手,那么让我给您一个简单的方法,以便您了解执行此操作时的实际情况。
假设您有以下课程:
public class ParentClazz{ String someVar; public ParentClazz(){ someVar="test"; } public ParentClazz(String someVar){ System.out.println("I have been invoked"); this.someVar=someVar; }}然后,您具有以下主要方法:
public static void main(String[] args) throws ParseException, IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {ParentClazz.class.asSubclass(ParentClazz.class).getConstructor(String.class).newInstance("howdy"); }如果运行此命令,您会注意到控制台输出打印消息-我已被调用。这意味着您使用反射调用了ParentClazz的构造函数。
如果方案允许您执行相同的操作,则可以使用标准的对象创建过程:
ParentClazz clazz = new ParentClazz("howdy");希望这可以帮助您理解。



