我有一堂课有点像这样:
public class Test {
private final List<ISomeType> things = new LinkedList<ISomeType>();
public <T extends ISomeType> Test(Class<T> clazz, int order) {
for (int i = 0; i < order; i++) {
try {
this.things.add(clazz.newInstance());
} catch (Exception e) {
// stackoverflowers use your imagination
}
}
}
}
我期望并希望 Class clazz 有一个可访问的无参数构造函数。有什么方法可以在编译时强制它的存在吗?
无法在编译时强制执行构造函数要求。在运行时,您可以检查 class.getConstructors() 并确保其中没有参数(或者只是像示例代码中那样捕获异常)。
通常,无参数构造函数要求仅在基类或接口的 Javadoc 中列出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)