Java从子类调用超类的类构造函数
我试图调用一个继承类的参数化构造函数,该类带有反射。 但是构造函数不是在子类中实现的,而是在超类中实现的Java从子类调用超类的类构造函数,java,reflection,constructor,invoke,Java,Reflection,Constructor,Invoke,我试图调用一个继承类的参数化构造函数,该类带有反射。 但是构造函数不是在子类中实现的,而是在超类中实现的 class Parent{ public Parent(String value){ doSomeThing(value); } } class Horst extends Parent{} class Eva extends Parent{} class AndereKlasse{ ... Class par
class Parent{
public Parent(String value){
doSomeThing(value);
}
}
class Horst extends Parent{}
class Eva extends Parent{}
class AndereKlasse{
...
Class parentClass = MyConfig.getParentClass; // its here Horst.class or Eva.class
Constructor parentConstructor = Parent.class.getConstructor(String.class);
parentConstructor.newInstance("just a String");
...
}
我只是从子类得到空构造函数,而不是从父类得到空构造函数。有解决方法吗?这不起作用,因为子类Eva和Horst都必须定义自己的构造函数,以指定如何调用其超类构造函数。在任何情况下,调用超级类的构造函数都不会创建子类的对象。您需要在子类上调用构造函数才能创建该子类的对象。这在任何情况下都是不可编译的代码。请把它翻译成英语。谁知道呢,也许这就是需要解决的问题。好的,谢谢你的快速回复。