跟王老师学反射(七)使用反射调用属性
学习内容
使用反射调用属性
通过Class对象的getFields()|getDeclaredFields()或getField()|getDeclaredField()方法可以获取该类所有包括的全部属性或指定的属性
一、Field类用于猎取类中的属性的方法(一)getXxx(Object obj)获取obj对象该Field的属性值,此处Xxx对应8个基本类型。
(二)setXxx(Object obj,Xxx val)将obj对象的该Field设置为val值。此处Xxx对应8个基本类型。
二、测试1234567891011121314public
static
void
test5()
throws
Exception{
Class<Person> personClass = Person.
class
;
Person person = personClass.newInstance();
//得到setName方法
Method method = personClass.getDeclaredMethod(
"setName"
, String.
class
);
//调用访问权限检查
if
(!method.isAccessible()){
method.setAccessible(
true
);
}
//调用setName,为name赋值
Object object = method.invoke(person,
"wangwu"
);
System.out.println(person);
System.out.println(object);
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。