首页 > 试题广场 >

如何通过反射获取和设置对象私有字段的值?

[问答题]
请说明如何通过反射获取和设置对象私有字段的值?
setAccessible(true)
发表于 2019-02-20 09:14:10 回复(0)
你俩结合一下
发表于 2019-04-01 08:37:25 回复(0)
getDeclaredField方法,并且要设置访问权限为true
发表于 2019-02-21 23:56:17 回复(0)
首先本题获取和设置的落脚点在私有字段上,所以应使用反射提供的setAccessible(true),这样将可以访问到非public的变量;
第二,获取某个类的所有声明字段,使用反射中getDeclaredFields()方法;
注意:setAccessible(true),在理论上是不安全的,不符合面向对象的思想,但它也体现了反射在运行时改变对象的方法。
反射的定义:Java反射机制是指在运行状态中。对于任意一个类,都能知道这个类的所有属性和方法,对于任何一个对象,都能够调用它的任何一个方法和属性,这样动态获取以及动态调用对象方法的功能就叫做反射。

发表于 2020-04-12 15:06:36 回复(0)