使用java反射获取某一个类中的属性,并打印出来
代码
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class ReflectTest04 {
public static void main(String[] args) throws ClassNotFoundException {
//反射的类的路径cn.wuquejs.reflect.User
Class c = Class.forName("cn.wuquejs.reflect.User");
//获取public修饰的属性数组
//Field[] filed = c.getFields();
//获取类中所有的属性
Field[] field = c.getDeclaredFields();
//使用反射反编译
StringBuilder sb = new StringBuilder(200);
sb.append(Modifier.toString(c.getModifiers()) + "class" + c.getSimpleName() + "{\n");
for(Field f : field) {
//缩进,使获取到的属性打印出来更加美观
sb.append("\t");
//访问权限修饰符
String s = Modifier.toString(f.getModifiers());
if(!"".equals(s)) {
sb.append(Modifier.toString(f.getModifiers()) + " ");
}
//属性的类型名称
Class type = f.getType();
sb.append(type.getSimpleName() + " ");
//属性的名字
sb.append(f.getName() + ";\n");
}
sb.append("}");
//打印出反射类中的属性
System.out.println(sb.toString());
}
}
User类
package cn.wuquejs.reflect;
import java.util.Date;
public class User {
private int age;
public String name;
protected Date birthday;
boolean sex;
}
1 条评论
java 语音就是非常的强大