黑马程序员技术交流社区
标题:
反射问题!不是public修饰的方法反射不到!~为什么?
[打印本页]
作者:
小蚊子
时间:
2013-12-23 21:21
标题:
反射问题!不是public修饰的方法反射不到!~为什么?
做了一个实现....验证了一下,不是public修饰的成员方法反射不到!~private的还好理解一下,私有的不想了让看见也就罢!但是为什么用default修饰的就不行呢~~~?
作者:
776699
时间:
2013-12-23 23:30
私有有的也可以反射到,getDeclaredMethod方法
作者:
落木萧萧
时间:
2013-12-24 11:32
default的和private的成员变量或者方法都可以用getDeclared的方法来获取。
作者:
符乃夫
时间:
2013-12-24 20:18
因为不是public的 所有需要用getDeclaredFields();来获取,然后要进行暴力反射 具体代码如下
public class TestBean
{
private String name = "abc";
}
public class PrivateTest
{
public static void main( String[] args ) throws IllegalArgumentException, IllegalAccessException
{
TestBean tb = new TestBean();
Field[] f = TestBean.class.getDeclaredFields();
for(int i=0;i<f.length;i++){
f[i].setAccessible( true );//暴力反射
System.out.println(f[i].get( tb ));
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2