使用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;
}
运行结果

最后修改:2021 年 06 月 09 日 08 : 42 PM
如果觉得我的文章对你有用,请随意赞赏