可以使用java.lang.Class.getDeclaredMethods()方法调用对象的方法。此方法返回一个数组,其中包含具有公共,私有,受保护和默认访问权限的所有Method对象。但是,不包括继承的方法。
另外,getDeclaredMethods()如果类或接口没有方法,或者在Class对象中表示原始类型,数组类或void ,则该方法返回零长度数组。
演示此的程序如下所示-
示例import java.lang.reflect.Method;
class ClassA {
private String name = "John";
public String returnName() {
return name;
}
}
public class Demo {
public static void main(String[] args) throws Exception {
Class c = ClassA.class;
Method[] methods = c.getDeclaredMethods();
ClassA obj = new ClassA();
for (Method m : methods) {
Object result = m.invoke(obj, new Object[0]);
System.out.println(m.getName() + ": " + result);
}
}
}
输出结果returnName: John