我正试图将Class.getMethod用作吸气剂。
我尝试过:
//This works fine
Class<?> c = Class.forName("Cat");
//This is not working
Cat cat = c.getMethod("getCat");
答案 0 :(得分:3)
Class类为您提供
之类的方法newInstance()
调用默认构造函数getDeclaredConstructors()
这样,您可以从Class对象创建实例对象。有关官方文档,请参见here,以了解如何使用反射创建实例。
{strong>唯一可行的方法{1}}是:如果Cat类上具有该名称的参数小于 static 方法,则
getMethod()
可能会工作。
这里的真实答案:
答案 1 :(得分:2)
getMethod
返回一个java.lang.reflect.Method
对象。然后,您需要调用它:
Cat cat = c.getMethod("getCat").invoke(null);
// Here ------------------------^