Java反射操作私有成员变量报错,java.lang.IllegalAccessException:can not access a member of class with modifiers private

需要在调用invoke等方法之前调用setAccessible(true)来允许访问private的方法或属性;或提升方法/属性等的访问权限,如由private改为public

通过反射操作类的私有(private)成员变量时,需要通过field.setAccessible(true)将字段设置为可以访问的。

比如上篇文章的 declaredField.setAccessible(true);

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐