最近学习了一些关于反射的知识,在Class类中有很多的getDeclaredXXX(),这样的方法,我们都知道这是获取该类中所有信息的一种方法,但是我今天发现他访问一些private修饰的信息时,访问会出一些问题。 例如getDeclaredMethods()这样的方法他在api中是这样说的:
在这里,可以清晰的看到该方法返回的Method对象的数组包括public,protect,default,private这样访问修饰符的方法。例如这样:
测试了默认方法没有出问题,按照api文档中的描述其他的肯定不会出问题,但是!!!!!!!!!private修饰后
这显然与api文档中的描述有所出入,我无法访问被private修饰的方法,但我用setAccessible()这个方法忽略了访问修饰符时,这个方法就可以被问到。