java 反射访问静态方法_如何使用反射(Java)调用私有静态方法?
我使用封装获取目标方法然后调用它的单个方法。当然可能有一些限制。这里是放入类中的方法和它的JUnit测试:
public class Invoker {
/**
* Get method and invoke it.
*
* @author jbetancourt
*
* @param name of method
* @param obj Object to invoke the method on
* @param types parameter types of method
* @param args to method invocation
* @return return value
* @throws Exception for unforseen stuff
*/
public static final Object invokeMethod(final String name, final T obj,
final Class>[] types, final Object... args) throws Exception {
Method method = obj.getClass().getDeclaredMethod(name, types);
method.setAccessible(true);
return method.invoke(obj, args);
}
/**
* Embedded JUnit tests.
*/
@RunWith(JUnit4.class)
public static class InvokerTest {
/** */
@Test
public void testInvoke() throws Exception {
class TestTarget {
private String hello() {
return "Hello world!";
}
}
String actual = (String) Invoker.invokeMethod("hello",
new TestTarget(), new Class>[] {});
String expected = "Hello world!";
assertThat(actual, is(expected));
}
}
}
java 反射访问静态方法_如何使用反射(Java)调用私有静态方法?相关推荐
- java 反射的效率_如何提高使用Java反射的效率?
前言 在我们平时的工作或者面试中,都会经常遇到"反射"这个知识点,通过"反射"我们可以动态的获取到对象的信息以及灵活的调用对象方法等,但是在使用的同时又伴随着另 ...
- java基础反射知识总结_非常好的Java基础反射总结
前言疯狂复习基础ing- 最近复习的Jv基础反射做了应该总结,果然反射不只有那么一点点东西,多的是精髓! 最重要的是最后推荐的那两篇文章,写的非常非常好!!反射 1.反射的原理Jv反射机制就是在运行状 ...
- java 集成访问权限_集成块:Java访问控制,停止疯狂!
java 集成访问权限 疯狂谈话 您可以使用访问修饰符将API与实现(也称为封装)分开. 修饰符为您提供了一种干净的方法来告诉其他开发人员:"这是我打算供您使用的内容,其余所有内容都在我的实 ...
- java applet 访问文件_使用JavaApplet访问数据库
使用Java Applet访问数据库 学习任何的程序语言,当然都得与数据库,Java刚刚诞生的时候,对数据库的支持并不是很好,经过这几年的发展,它对数据库的支持也已经完全达到了成熟的境地.由于这里主要 ...
- 五脏六腑在脸上的反射区图片_面部五脏反射穴位图
t是什么人的脸部穴位图足面部排毒醒肤术,即脸部刮痧美容法,是根据刮痧治病的原理派生出来的一种新颖疗肤法.穴位名称筋缩所属经络督脉穴位位置背部后正中线,第九胸椎棘突下凹陷解决情志方面的疾病说明八会穴中的 ...
- java虚拟机类加载机制_《深入理解java虚拟机》学习笔记一/类加载机制
为何要读这本书? 近期看了左萧龙大哥的单例设计模式,后文讲解到了JVM对类实例化相关知识,感觉看着很无力,不懂,于是乎买本书研究下. 如何读? 个人水平一般,理解程度有限,书中说到每章关联不是很大,所 ...
- java list e 查找_源码(04) -- java.util.ListE
java.util.List 源码分析(JDK1.7) ------------------------------------------------------------------------ ...
- java 基础 笔试题_非常全面的java基础笔试题
1.下列说法正确的是() (程序结构) A java程序的main方法必须写在类甩面 B java程序中可以有多个main方法 C.java程序中类名必须与文件名一样 D.JAVA程序的main方法中 ...
- java 开发书籍 目录_《零基础 Java 开发 》全书目录
第1部分 Java开发基础 第一章 搭建Java开发环境 1.1 Java简介 1.2 Java开发环境搭建 1.3 Java语⾔的功能 1.4 使用Eclipse开发Java程序 1.5 使用IDE ...
- java class 文件分析_大概优秀的java程序员都要会分析class文件吧
相信大家在学java的时候都会听到这样的一些结论: enum 是一个类 泛型的实现使用了类型擦除技术 非静态内部类持有外部类的引用 需要将自由变量声明成final才能给匿名内部类访问 ... 初学的时 ...
最新文章
- kazoo源码分析:服务器交互的实现细节
- MongoDB 4.0 事务实现解析
- heroes 2 android,英雄出击2游戏下载-英雄出击2Heroes Strike2中文安卓版下载v0.0.5- 游侠下载站...
- 程序员如何开始新的工作(转)
- java excel data 导入数据_java实现导入导出excel数据
- (10)C#偷懒的开始永无止境的循环?
- SPI 读取不同长度 寄存器_SPI协议,MCP2515裸机驱动详解
- jQuery css
- NLP简报(Issue#1)
- android fastboot原理,FastBoot使用一
- python数据结构3-链表
- 安装DEEP LEARNING TOOL 0.4.3 EARLY ADOPTER
- 领域驱动设计营销系统建模
- Clickhouse基本函数( 转载)
- macOS开发中用TagLib获取、修改音频文件信息
- 如何使用 scp 递归复制目录
- 99%的人都不知道内网、外网、宽带、带宽、流量、网速之间的区别与联系
- 北航 2018计算机学院排课,关于2018—2019学年第二学期排课安排的通知
- protocol buffer namespace conflict
- 网易控股的立马理财逾期,网易前员工爆料:把内部员工当韭菜
热门文章
- server2008中如何关闭internet explorer增强的安全配置
- Java编码规范 Code Conventions for the Java
- AWARD BIOS设置(INTEL芯片组)
- RhinoMock入门(3)——4种Mock类型
- 控件onkeyup事件,使验证控件不能即时验证
- sklearn模型评选择与评估
- 【计网】IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?
- 卷积神经网络初步认知
- MongoDB中如何优雅地删除大量数据
- lombok时运行编译无法找到get/set方法 看这篇就够了