【发布时间】:2013-06-02 17:30:16
【问题描述】:
我对使用Java反射时getFields方法和getDeclaredFields方法之间的区别有点困惑。
我读到getDeclaredFields 允许您访问该类的所有字段,而getFields 只返回公共字段。如果是这种情况,您为什么不总是使用getDeclaredFields?
有人可以详细说明一下,并解释这两种方法之间的区别,以及何时/为什么要使用其中一种方法?
【问题讨论】:
-
getField可以获得从超类继承的字段,但getDeclaredField不能。getDeclaredField限制在你调用函数的类。 -
@user2336315 是正确的,但是
getField无法访问私有成员
标签: java reflection