Java Reflection 教程(4):Fields 成员变量

来源:互联网 发布:网络寻衅滋事案例 编辑:程序博客网 时间:2024/05/16 10:16

类的成员变量定义可以通过Class 的getFields()来取得

Class aClass = ...//obtain class objectField[] methods = aClass.getFields();


如果知道Field的名称,则可以通过getField() 取得对应的Field定义

Class  aClass = MyObject.classField field = aClass.getField("someField");


对应到类的定义可以如下:

public class MyObject{ public String someField = null; }


如果找不到对应的Field定义,Java Reflection API 抛出NoSuchFieldException异常。

1. 获取成员变量名称

Field field = ... //obtain field objectString fieldName = field.getName();


2. 获取成员变量类型

Field field = aClass.getField("someField");Object fieldType = field.getType();
 


3. 为成员变量赋值或取得成员变量的值

Class  aClass = MyObject.classField field = aClass.getField("someField"); MyObject objectInstance = new MyObject(); Object value = field.get(objectInstance); field.set(objetInstance, value);

如果Field为Static类型,则使用null 作为get,set 的首参数。

 

原创粉丝点击