java如何通过反射 激活静态类的静态方法
16lz
2021-01-22
有时候我们需要对一个静态类使用反射机制,来激活静态类内部的静态方法,用System静态类举例如下:
System.class.getMethod("setProperty", new Class[]{String.class,String.class}).invoke(null,"app_name","app_name_value");
这行代码等价于
System.setProperty("app_name","app_name_value")
其中getMethod中除了需要传入方法的名称外,还需要正确的传入方法内的参数类型数组,用以区分方法名相同但参数不同的重载类的方法。
invoke的第一个参数传入的是要激活方法的对象,如果是静态类本身,则直接传null就可以了。
更多相关文章
- JAVA 静态方法和静态变量和final和※静态import※
- 实现<table>标签的动态新增和后台接受<table>标签的方法
- java通过映射取得方法对一个类的变量进行赋值
- “不是抽象的,也不重写抽象的方法”错误
- java.nio.ByteBuffer的flip、rewind和compact几个方法的区分使用
- Android高手进阶教程(二十)之---Android与JavaScript方法相互调
- 手低眼高 初学者学习Hibernate的方法
- Java常用类及其常用方法
- 本地方法中printf如何传给java--java系统级命名管道