[英]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.