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);