我想使用一个由列表框中显示的字符串调用的类。
就像我会
“1 级” “2 级”
在列表框中,并像这样使用它:
新的“Class1”
这可能吗?
可以使用反射。首先,找到班级。
Class<?> clazz = Class.forName("Class1"); // or a variable containing the class name
小心,forName
需要一个完全限定的类名(例如java.lang.String
)。
然后调用newInstance
类对象。
Object instance = clazz.newInstance();
这些方法调用中的每一个都会引发您需要捕获的多个异常。
如果您事先知道所有可能的类,则可以使用工厂模式根据收到的字符串构建实例。