0

我正在尝试使用反射调用继承类的参数化构造函数。但是构造函数没有在子类中实现,只在超类中实现。

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");
    ...
}

我只是从子类中获取空的构造函数,而不是从父类中获取空构造函数。有解决方法吗?

4

1 回答 1

1

这不起作用,因为子类 Eva 和 Horst 每个都必须定义自己的构造函数,以便指定它们如何调用它们的超类构造函数。在任何情况下,调用超类的构造函数都不会创建子类的对象。您需要在子类上调用构造函数才能创建该子类的对象。

于 2013-01-28T16:43:02.470 回答