(1)反射获取成员变量
import java.lang.reflect.Field;
/*
反射:
(1) 获取Class类对象: Class class;
(2) 获取成员变量
Field[] getFields();获取用public修饰的成员变量
Field getField(String name);获取用public修饰的指定方法名的成员变量
Field[] getDeclaredFields();获取所有成员变量,包含private修饰的变量
Field getDeclaredField(String name);获取指定变量名称的成员变量,可以获取private修饰的成员变量
对成员变量进行赋值和取值
void set(Object obj,Object value);对成员变量进行赋值
get(Object obj);获取成员变量的值
对私有成员变量进行操作时,需要忽略访问修饰符的安全检查。代码如下
setAccessible(true);忽略暴力反射
*/
public class Demo {
//反射机制获取成员变量的方法案例
public static void main(String[] args) throws Exception {
//获取person类的class对象
Class<person> personClass = person.class;
//获取public修饰的成员变量
Field[] fields = personClass.getFields();
for (Field field : fields) {
System.out.println(field);