假设有一个类名作为字符串。
String myClass = "com.whatever.MyClass";
如何使用反射实例化此类并且具有类型为MyClass
而不是Object
的对象,而不使用如下代码:
MyClass myObj = MyClass.class.cast(instance);
基本上我想将Object
的实例转换为MyClass
而不在代码中使用MyClass
,只需将类名称知道为字符串。
答案 0 :(得分:0)
您可以创建类的实例并运行其方法,而无需使用反射在代码中导入类:
Class clazz = Class.forName("com.whatever.MyClass");
Object instance = clazz.newInstance(); // or use the given instance
clazz.getMethod("myMethod").invoke(instance);