import java.lang.reflect.Method; import java.lang.reflect.Modifier; public class Main { public static void main(String[] args) { Class clazz = null; try { clazz = Class.forName("Person"); } catch (ClassNotFoundException e) { e.printStackTrace(); } Method[] m = clazz.getDeclaredMethods(); for(Method t : m) { System.out.println(Modifier.toString(t.getModifiers())); //获取方法的修饰符 System.out.println(t.getReturnType().getName()); //带包名的 // System.out.println(t.getReturnType().getSimpleName()); //带包名的 System.out.println(t.getName()); //获取方法名 Class[] type = t.getParameterTypes(); //获取方法的所有参数类型(返回Clss[]) for(Class temp : type) { System.out.print(temp.getSimpleName() + ","); //打印方法的参数类型(不带包名) //System.out.println(temp.getName()); //打印方法的参数类型(带包名) } System.out.println(); } } } class Person { //方法s1 public static void s1(String str_name,int age) { } //方法s2 public static Person s2() { return null; } }
emmm 好好研究···