黑马程序员技术交流社区
标题:
反射问题!不是public修饰的方法反射不到!~为什么?
[打印本页]
作者:
苏志伟
时间:
2011-10-9 23:00
标题:
反射问题!不是public修饰的方法反射不到!~为什么?
做了一个实现....验证了一下,不是public修饰的成员方法反射不到!
~private的还好理解一下,私有的不想了让看见也就罢!
但是为什么用default修饰的就不行呢~~~?
作者:
黄治文
时间:
2011-10-9 23:21
楼主,完全是可以的,你试试我这段代码
package com.itcast.io.day2;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Iterator;
class ReflectDemo {
private void printStr() {
System.out.println("test reflect");
}
public void printInt() {
System.out.println(10);
}
}
public class Test {
public static void main(String[] args) throws Exception {
Class cls = Class.forName("com.itcast.io.day2.ReflectDemo");
Method method = cls.getDeclaredMethod("printStr");
method.setAccessible(true);
method.invoke(cls.newInstance());
}
}
复制代码
作者:
黄治文
时间:
2011-10-9 23:22
输出为
test reflect
作者:
苏志伟
时间:
2011-10-10 00:10
哦!~用到的是暴力反射,!~~ok明白了。。。
作者:
王家俊
时间:
2011-10-10 00:55
类中的所以方法都可以使用反射得到,要访问private的方法就必须使用所谓的暴力访问,就是调用方法的setAccessble(tre)方法。
作者:
丁晓宇
时间:
2012-2-16 18:47
暴力!{:soso_e113:}
作者:
guobin_lu
时间:
2013-3-30 18:47
暴力!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2