1 import java.lang.reflect.Field; 2 3 /** 4 * Created with IDEA 5 * author:foreign 6 * Date:2019/9/30 7 * Time:10:10 8 */ 9 public class ReflectionFk { 10 public static void main(String[] args) throws IllegalAccessException { 11 Class clazz = PersonFk.class; 12 //1 获取所有public的字段 13 Field[] fields = clazz.getFields(); 14 for (Field field : fields) { 15 System.out.println("public的字段:" + field); 16 } 17 try { 18 //1.1 根据指定的名字获取public的字段 19 Field variable = clazz.getField("desc"); 20 System.out.println("指定name的public字段:" + variable); 21 } catch (NoSuchFieldException e) { 22 e.printStackTrace(); 23 } 24 Field[] fields1 = clazz.getFields(); 25 for (Field field : fields1) { 26 //2 获取变量的名称 27 String name = field.getName(); 28 System.out.println("变量的名称:" + name); 29 //3 获取变量的类型 30 Class<?> type = field.getType(); 31 System.out.println("变量的类型:" + type); 32 //4 获取变量的值 33 PersonFk personFk = new PersonFk(); 34 Object o = field.get(personFk); 35 System.out.println("获取变量的值:" + o); 36 //4.1 设置变量的值 37 field.set(personFk,o); 38 } 39 } 40 }