getDeclaredFields() 获取字段名
declaredField.getType()获取字段类型
setAccessible(true)若字段为私有的设置为可访问状态
getMethod(method,null)获取方法名 —— 第一个参数是通过反射访问的参数名称,第二个是参数的类型 若不设置则为不指定参数类型
invoke(o,null);调用指定对象的方法——第二个参数是表示允许这个方法的时候,这个方法是否需要参数,若需要则传入相应的参数(和正常调方法一样)
通过反射为指定的属性类设置值
public class MyClass {
private int myInt;
private String myString;
private int age;
public static void main(String[] args) throws Exception {
MyClass obj = new MyClass();
//获取字段名
Field[] fields = MyClass.class.getDeclaredFields();
// 找到age并设置值
for (Field field : fields) {
if (field.getName().equals("age")) {
field.setInt(obj, 18);
break;
}
}
}
}
- THE END -
最后修改:2023年4月12日
非特殊说明,本博所有文章均为博主原创。

共有 0 条评论