java中,如何动态改变类的访问权限?
解决方案 »
- 求助,新手学hibernate4.1.4遇到问题
- struts2迭代显示为何有逗号,如何不能像LIST对象分别输出值
- struts2 异常
- 求教was报错内存溢出?
- 【征同学】有愿意一起上东方标准那个java培训的吗?
- response.setCharacterEncoding("GBK"); 有什么作用
- 求:MySql+EJB+CMP,数据库主键自动增长解决方案
- java.sql.SQLException: ORA-01000: 超出打开游标的最大数
- 哪里有xml的免费电子教材?
- Hibernate映射外键
- 关于改造分布式应用的疑问
- 请大虾们赐教一下关于ejb,hibernate,spring框架之间如何选择
{
}你通过以下代码取得这个方法,
A a = new A();
Method doitMethod = a.getClass().getDeclaredMethod("doit");
doitMethod.setAccessible(true);
doitMethod.invoke(a,参数);
就可以了关键是可以通过setAccessible来修改其权限
注意啦:类的构造方法可以是public 也可以是 private...
http://blog.sina.com.cn/s/blog_495697e60100dwt0.html
这是可以的,条件是通过反射来做。
类似于9L的代码,JDK中有说明
http://e188e.cn
这个并没有改变方法的权限, 仍然是 private, 只是 JDK5 的反射提供了这样一个开关, setAccessible(true) 能够访问 private 的方法,成员变量等等