方法介绍

public class Users { private String username; private int userage; public int heigh; public int getHeigh() { return heigh; } public void setHeigh(int heigh) { this.heigh = heigh; } public Users(){ } public Users(String username,int userage){ this.userage=userage; this.username=username; } private Users(int userage){ this.userage=userage; } public Users(String username){ this.username=username; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getUserage() { return userage; } public void setUserage(int userage) { this.userage = userage; }}public class Users { private String username; private int userage; public Users(){ } public Users(String username,int userage){ this.userage=userage; this.username=username; } private Users(int userage){ this.userage=userage; } public Users(String username){ this.username=username; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getUserage() { return userage; } public void setUserage(int userage) { this.userage = userage; }}
获取成员变量
import java.lang.reflect.Field;public class GetField { public static void main(String[] args) throws NoSuchFieldException { Class clazz= Users.class; Field[] fields=clazz.getFields(); for(Field f:fields){ System.out.println(f); System.out.println(f.getName()); } System.out.println("-------------"); Field[] fields1 =clazz.getDeclaredFields(); for(Field f:fields1){ System.out.println(f); System.out.println(f.getName()); } System.out.println("---------------"); //Field field = clazz.getField("userage"); //会报错,因为uerage是private类型变量 //System.out.println(field); System.out.println("----------------"); Field field1 = clazz.getDeclaredField("userage"); System.out.println(field1); }}

操作成员变量
import java.lang.reflect.Field;public class GetField2 { public static void main(String[] args) throws Exception { Class clazz = Users.class; Field field = clazz.getField("heigh"); //不能是pribate类型变量,应为无法重新赋值 //对象实例化 Object obj=clazz.newInstance(); //为成员变量赋予新的值 field.set(obj,176); //获取成员变量的值 Object o = field.get(obj); System.out.println(o); }}