-1
假设有一个类名作为字符串。从类名称中将对象实例化为字符串
String myClass = "com.whatever.MyClass";
如何使用反射,并有MyClass
类型的对象,而不是Object
,我实例化这个类不使用这样的代码:
MyClass myObj = MyClass.class.cast(instance);
基本上我想的Object
一个实例转换为MyClass
不需要在代码中使用MyClass
,只需将类名称作为字符串即可。
你不能。为了将其分配给类型为“MyClass”的引用,您需要知道“MyClass”在编译时的情况。 –
而唯一的方法就是这样做http://stackoverflow.com/questions/2215843/using-reflection-in-java-to-create-a-new-instance-with-the-reference-variable-ty – Tunaki
你可以查看工厂模式,将它们放入某种字符串索引的容器中并调用它们。这就是用C++完成的,但我不了解Java。 – 2016-04-29 14:09:57