可以使用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