【发布时间】:2018-03-14 09:35:27
【问题描述】:
我想创建一个方法来构造一个作为参数接收的类的对象,就像下面这样:
public static <T extends MyAbstractClass> T makeObject(Class<T> c){
ObjectReceivedFromService orfs = getObjectFromService();
Constructor<T> constr = c.getConstructor(ObjectReceivedFromService.class);
return constr.newInstance(orfs);
}
有没有办法确保这个特定的构造函数在编译时存在? 如果可能的话,我还想使用接口而不是抽象类。
谢谢
【问题讨论】:
-
你想确保
Class<T>有一个无参数的构造函数吗? -
使用接口代替
MyAbstractClass应该没有问题。
标签: java inheritance interface abstract-class