有时候我们需要对一个静态类使用反射机制,来激活静态类内部的静态方法,用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就可以了。

更多相关文章

  1. JAVA 静态方法和静态变量和final和※静态import※
  2. 实现<table>标签的动态新增和后台接受<table>标签的方法
  3. java通过映射取得方法对一个类的变量进行赋值
  4. “不是抽象的,也不重写抽象的方法”错误
  5. java.nio.ByteBuffer的flip、rewind和compact几个方法的区分使用
  6. Android高手进阶教程(二十)之---Android与JavaScript方法相互调
  7. 手低眼高 初学者学习Hibernate的方法
  8. Java常用类及其常用方法
  9. 本地方法中printf如何传给java--java系统级命名管道

随机推荐

  1. W/System.err:at java.net.PlainDatagramS
  2. Android Activity 完全解析(下)
  3. Android新手入门2016(11)--非阻塞对话框Ale
  4. 如何把项目从github上导入到android stud
  5. android在onCreate()方法中获取View的宽
  6. 【Android 进阶】ButterKnife-黄油刀
  7. 对于Android的文件结构介绍
  8. Android 国际化 语言适配
  9. Android 科大讯飞 在线和离线语音听写
  10. android声音播放之SoundPool的应用,让你的