-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