java clazznewInstance 指定父类
在Java中,使用clazz.newInstance()方法可以创建一个指定类的实例。但是,这个方法只会调用类的无参构造方法来创建实例。
如果你想要指定父类来创建实例,可以使用反射机制来实现。以下是一个示例代码:
public class ParentClass {
public ParentClass() {
System.out.println("ParentClass constructor");
}
}
public class ChildClass extends ParentClass {
public ChildClass() {
System.out.println("ChildClass constructor");
}
}
public class Main {
public static void main(String[] args) throws IllegalAccessException, InstantiationException {
Class<ChildClass> clazz = ChildClass.class;
ParentClass instance = clazz.newInstance();
}
}
在上面的代码中,ChildClass继承自ParentClass,并且ChildClass有一个无参构造方法。在Main类中,我们使用clazz.newInstance()方法创建了ChildClass类的实例,并将其赋值给ParentClass类型的变量instance。这样就可以通过指定父类来创建子类的实例了。
当运行上面的代码时,会输出以下结果:
ParentClass constructor
ChildClass constructor
可以看到,首先调用了ParentClass的构造方法,然后调用了ChildClass的构造方法。这证明了我们通过指定父类成功创建了子类的实例。
原文地址: https://www.cveoy.top/t/topic/izjd 著作权归作者所有。请勿转载和采集!