学习内容
使用反射调用属性
通过Class对象的getFields()|getDeclaredFields()或getField()|getDeclaredField()方法可以获取该类所有包括的全部属性或指定的属性
一、Field类用于猎取类中的属性的方法
(一)getXxx(Object obj)
获取obj对象该Field的属性值,此处Xxx对应8个基本类型。
(二)setXxx(Object obj,Xxx val)
将obj对象的该Field设置为val值。此处Xxx对应8个基本类型。
二、测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static void test5()throws Exception{
Class<Person> personClass = Person.class;
Person person = personClass.newInstance();
Method method = personClass.getDeclaredMethod("setName", String.class);
if(!method.isAccessible()){
method.setAccessible(true);
}
Object object = method.invoke(person, "wangwu");
System.out.println(person);
System.out.println(object);
}
|