可以说我有课程,A
并且B
在哪里B
扩展A
。我也有一个构造函数,B
其中一个参数是type A
。我还有一个B
名为的类型的对象bObj
。
B.class.getConstructor(new Class[] { bObj.getClass() })
自B
extends 以来,有没有一种方法来调用和获取构造函数A
?此刻我得到一个NoSuchMethodException
。
问候,斯坦
我建议你看看ConstructorUtils
来自Apache的百科全书郎。
它们具有各种构造函数发现方法的方式。
您的案例应包含在“ 匹配的可访问构造函数 ”中。
这是上下文中使用的方法的示例。基本上,您这样称呼它:
private <T> T instantiate(Class<?> input, Object parameter) {
try {
Constructor<?> constructor = ConstructorUtils.getMatchingAccessibleConstructor(input, parameter.getClass());
return (T) constructor.newInstance(parameter);
} catch (Exception e) {
//handle various exceptions
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句