文档章节

通过反射调用private函数

爪哇扫地僧
 爪哇扫地僧
发布于 2012/12/17 22:20
字数 159
阅读 203
收藏 8

例子如下:


package com.steven.aa
public class aa{
  private f(){
    System.out.println("hello,world!");
  }
}
package com.steven.test
class test{
  public static void main(String[] args)throws Exception{
    Class<?> cl = aa.class;
    Object obj = cl.newInstance();
    //此处使用getDeclaredMethod方法,这个方法可以获得类的
    //自身的方法,包括public,private,protect。
    Method  m = cl.getDeclaredMethod("f");
    //setAccessible函数 值为 true 则指示反射的对象
    //在使用时应该取消 Java 语言访问检查。可以访问私有域
    m.setAccessible(true);
    m.invoke(obj);
  }
}
上面例子中,首先使用getDeclaredMethod获得aa的private方法f,然后用setAccessible取消java语言访问检查,最后通过

invoke达到访问私有函数的效果。



© 著作权归作者所有

爪哇扫地僧
粉丝 8
博文 27
码字总数 5704
作品 0
广州
私信 提问
kvn-wang/hp-reflect

hp-reflect (high performance reflect) 项目介绍 hp-reflect 是一个高性能的反射工具。它使用字节码技术动态生成 access class。通过不同的 access class,可以高效的获取字段的值,或者调用...

kvn-wang
2018/08/16
0
0
80%的Java程序员不知道反射强行调用私有构造器这事儿

文章转载自「开发者圆桌」一个10年老猿原创文章传播开发经验,尤其适合初学者或刚入职场前几年程序猿的微信公众号。 之前推送了一篇叫做「你真的会写单例模式吗?」的文章,里面提到一个观点...

开发者圆桌
2017/05/08
0
0
80%的Java程序员不知道反射强行调用私有构造器这事儿

文章转载自「开发者圆桌」一个10年老猿原创文章传播开发经验,尤其适合初学者或刚入职场前几年程序猿的微信公众号。 之前推送了一篇叫做「你真的会写单例模式吗?」的文章,里面提到一个观点...

开发者圆桌
2017/05/08
0
0
PHP反射ReflectionClass、ReflectionMethod

PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息...

BearCatYN
2015/11/16
382
0
java设计模式之单例模式(枚举、静态内部类、ThreadLocal)

1、静态内部类 它的原理是利用了类加载机制。 1.1、但是它可以被反射破坏 执行这段代码会发现o1<>o2,这就破坏了单例。 为什么呢?罪魁祸首就是如下代码,它是反射的newInstance()的底层实现...

星爵22
05/14
25
0

没有更多内容

加载失败,请刷新页面

加载更多

linux查询日志命令总结

【背景】 排查线上环境问题,少不了去线上查日志。而使用什么命令,能快速准确地查到我们需要查找地日志信息,也是我们需要掌握的一项技能。 【命令】 Linux查看命令有多种:tail,head,cat...

chen-chen-chen
19分钟前
3
0
net/http 接收文件

代码展示,如何使用golang 自带net/http,将Form表单中提交上来的文件,指定位置保存。 ReadHtmlFile OutHtml(html网页,表单测试代码使用) SaveFile (处理提交文件) package mainimport...

听夜深窗外风
23分钟前
2
0
c++ 强制类型转换

强制类型转换 p545

天王盖地虎626
26分钟前
4
0
再读Golang中的异常处理

一起重温Golang中的异常处理啊😸 1.Golang语言中没有其他语言中的try...catch...语句来捕获异常和异常恢复 2.在Golang中我们通常会使用panic关键字来抛出异常,在defer中使用recover来捕获...

Andy-xu
45分钟前
9
0
TiDB 最佳实践系列(三)乐观锁事务

作者:Shirly TiDB 最佳实践系列是面向广大 TiDB 用户的系列教程,旨在深入浅出介绍 TiDB 的架构与原理,帮助用户在生产环境中最大限度发挥 TiDB 的优势。我们将分享一系列典型场景下的最佳实...

TiDB
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部