Java反射(经常用到的方法)

Mr.Jia 2023-3-30 219 3/30

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 -

Mr.Jia

4月12日14:31

最后修改:2023年4月12日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论