反射获取成员变量并使用1

成员变量也称为字段

 

在Class类里面有一个方法,可以获取学生类的成员变量并使用 1、字段[] getFields() 返回一个包含字段对象的数组,字段对象反映此类对象所表示的类或接口的所有可访问公共字段。只拿公共的成员变量 2、字段[] getDeclaredFields() 返回字段对象的数组,字段对象反映由此类对象表示的类或接口声明的所有字段。拿所有的成员变量 3、字段 getField(String name) 返回字段对象,该对象反映此类对象表示的类或接口的指定公共成员字段。只拿某个公共的成员变量 4、字段 getDeclaredField(String name) 返回字段对象,该对象反映此类对象表示的类或接口的指定声明字段。只拿某个成员变量

 

我们来学习一下Field类。该类在java.lang.reflect包下。该类被final修饰,即该类是具体类 该类的作用是字段提供有关类或接口的单个字段的信息和动态访问

 

该类有一个方法:void set(Object obj, Object value) 将指定对象参数上此字段对象表示的字段设置为指定的新值,简单理解就是用于给obj对象的成员变量赋值为value

 

反射获取成员变量并使用1的练习

 

反射获取成员变量并使用2

练习:通过反射实现如下操作 1、Student s = new Student(); 2、s.name = "张三"; 3、s.age = 18; 4、s.address = "厦门"; 5、System.out.println(s);

 

反射获取成员变量并使用2的练习