繁体   English   中英

基于Object.class创建类

[英]creating classes based on Object.class

我想定义一个类列表并在以后实例化它们。 我有这样的清单

List<Class> classList = new ArrayList<>();
classList.add(ClassA.class);
classList.add(ClassB.class);

我想从此列表中读取并创建类。 我不知道我必须创建的女巫类,因为我的图书馆的客户将定义此列表。 我所知道的是,所有这些类都从同一类扩展而来,并具有一个对象作为构造函数参数。
任何想法我应该如何做到这一点?

如果您所讨论的所有类的构造函数都接受单个参数,并且该参数的类型相同(假设它是String ),则可以使用以下实例化此类:

Object instance = clazz.getConstructor(String.class).newInstance("string value you pass to the constructor");

另外,如果您所有的类都扩展了Super类,那么最好编写Class<? extends Super> Class<? extends Super>而不是raw Class 那你可以写

Super instance = clazz.getConstructor(String.class).newInstance("string value you pass to the constructor");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM