方法信息提取
String className = Class.getName();//返回类名
Class c = Class.forName("xxx");
Method[] ms = c.getMethods();//得到该类所有公开的函数
Method[] ms = c.getDeclaredClasses();//得到该类所有自己定义的函数
Class returnType = ms[i].getReturnType();//得到函数返回的类类型
Class[] paramTypes = ms.getParameterTypes();//得到该函数所有的参数的类类型
成员变量信息提取
import java.lang.reflect.Field;
Class c = Class.forName("xxx");
Field[] fs = c.getDeclaredFields();//得到所有类类型中自己声明的成员变量
Class fieldType = fs[i].getType(); //得到成员变量的类类型
String fieldName = fs[i].getName();//得到该成员变量的名称
构造函数信息提取
import java.lang.reflect.Constructor;
Class c = Class.forName("xxx");
Constructor[] cs = c.getDeclaredConstructors();//得到所有类类型中自己声明的构造函数
Class[] paramTypes = cs[i].getParameterTypes();//得到所有构造函数中的参数的类类型
其实Class类里面有很多get的方法,详情请查看API文档http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html
以上大部分内容来源于慕课网的”反射——Java高级开发必须懂的”课程,网址是http://www.imooc.com/learn/199,感谢Cedar老师的辛勤付出!