import java.lang.reflect.Method;class Moo { private void doSth1(){ System.out.println("私有方法的调用"); } protected void doSth2(){} void doSth3(){} public void doSth4(){}}public class ShowMethods2 { public static void main(String[] args) throws Exception{ Class<?> c = Class.forName("com.thinking.in.java.course.chapter14.two.Moo"); final Object o = c.newInstance(); //c.getMethods()拿到该类体系的所有public方法 for (Method method : c.getMethods()) { //System.out.println(method.toString()); } //只能拿到本类的所有方法 for (Method declaredMethod : c.getDeclaredMethods()) { System.out.println(declaredMethod.toString()); if(declaredMethod.toString().contains("doSth1")){ declaredMethod.setAccessible(true); declaredMethod.invoke(o); } } }}