public static void Reflect(Object obj) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
Class clazz = obj.getClass();
//通过对象字节码获得私有属性
Field[] declaredFields = clazz.getDeclaredFields();
for(Field field:declaredFields){
field.setAccessible(true);
//获取属性名
String name=field.getName();
System.out.println(name);
String method="get"+name.substring(0,1).toUpperCase()+name.substring(1);
Method methodName = clazz.getMethod(method, null);
String value=methodName.invoke(obj, null).toString();
System.out.println(value);
}
}
转载于:https://my.oschina.net/mclongyi/blog/793154