import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
* Created by 王麟东 on 2017/11/2 0002 18:01. Email: wangld1994@gmail.com
*/
public class ClassMessage {
public static void getClassMessage(Object o){
Class c = o.getClass();
System.out.println("类名称:" + c.getName());
Method[] methods = c.getMethods();
for (Method method : methods){
System.out.println("方法名:" + method.getName());
Class returnType = method.getReturnType();
System.out.println("返回类型:" + returnType.getName());
Class[] paramTypes = method.getParameterTypes();
System.out.println("参数类型:");
for (Class parmType : paramTypes){
System.out.println(parmType.getName());
}
}
Field[] fields = c.getDeclaredFields();
System.out.println("成员变量:");
for (Field field : fields){
Class fieldType = field.getType();
System.out.println(fieldType.getName() + " " + field.getName());
}
Constructor[] constructors = c.getDeclaredConstructors();
for (Constructor constructor : constructors){
System.out.println("构造函数:" + constructor.getName());
System.out.println("参数类型:");
Class[] cparamTypes = constructor.getParameterTypes();
for (Class cparamType : cparamTypes){
System.out.println(cparamType.getName());
}
}
}
}