在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的构造方法。这证明了我们通过指定父类成功创建了子类的实例。

java clazznewInstance 指定父类

原文地址: https://www.cveoy.top/t/topic/izjd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录