跟王老师学反射(七)使用反射调用属性
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,学习内容使用反射调用属性通过Class对象的getFields()|getDeclaredFields()或getField()|getDeclaredField()方法可以获取该类所有包括的全部属性
学习内容
使用反射调用属性
通过Class对象的getFields()|getDeclaredFields()或getField()|getDeclaredField()方法可以获取该类所有包括的全部属性或指定的属性
一、Field类用于猎取类中的属性的方法
(一)getXxx(Object obj)
获取obj对象该Field的属性值,此处Xxx对应8个基本类型。
(二)setXxx(Object obj,Xxx val)
将obj对象的该Field设置为val值。此处Xxx对应8个基本类型。
二、测试
1234567891011121314 | public static void test5() throws Exception{ Class 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); } |