,遇到某个类中有很多相似的方法,区别只是后缀不同,可以通过这个方法,实现拼接方法名而调用方法
来源:互联网 发布:小学语文教学视频软件 编辑:程序博客网 时间:2024/06/05 08:34
类:
package com.lv.StudyReflect;
public class PmoAgentRange {
private String a;
public void set1(String a) {
this.a = a;
}
public String getA() {
return this.a;
}
public String getA(String a) {
return a+a;
}
}
调用方法:
package com.lv.StudyReflect;
import java.lang.reflect.Method;
public class pracitceCodeIII {
public static void main(String[] args) throws SecurityException, Exception {
PmoAgentRange range = new PmoAgentRange();
@SuppressWarnings("rawtypes")
Class rangeClass = range.getClass();
Method method = rangeClass.getDeclaredMethod("set"+1,String.class);
method.invoke(range, "s");
System.out.println(range.getA());
}
}
先创建这个实例,然后通过实例获得这个类的Class
Class pmoAgentClass = PmoAgentClass.getClass();
获得这个Class 的Method;
Method method = pmoAgentClass.getDeclareMethod("类方法",类中变量的class,)
//如果要调用void setA(String a, String b)的方法
//pmoAgentClass.getDeclareMethod("setA",String.class,String class);
调用该方法 :
method.invoke(实例,参数) ;
String result = (String)method.invoke(range,"abcd");
0 0
- ,遇到某个类中有很多相似的方法,区别只是后缀不同,可以通过这个方法,实现拼接方法名而调用方法
- 通过方法名动态调用方法
- 为什么baseServlet可以调用很多方法
- 通过注释调用不同的方法
- .net里用delegate实现“通过方法名的字符串调用方法”
- 通过反射实现统一调用多个类的相似方法(这里是get())
- 地址栏上没有显示.jsp后缀的页面,只是显示方法名
- Python 不同方法的区别和调用
- 通过调用类中的各种方法我们可以获取不同的时间
- 如题,既然直接对一个实例发送方法名就可以调用这个方法,那为什么还要使用performSelector:去调呢?两者u有啥区别
- 通过反射机制调用某个类的方法
- Java反射 根据不同方法名动态调用不同的方法
- 反射2:获取类的方法(通过方法名调用方法),属性,声明
- iOS判断某个类是否可以调用某个类方法
- 【实例】动态调用方法,通过类名
- 通过设置静态路由来实现不同网段可以互相访问的方法
- JS中通过方法名字符串调用方法
- 【C#】反射应用-通过方法名调用方法
- Android 资源管理 Asset 、Raw 和Drawable
- IOS(UI)_UILabel(标签)
- 你应该知道的25道Javascript面试题
- iOS每日一记-----把window暂时的移除到屏幕外面 pop到指定的Viewcontroller
- Iconfont-阿里巴巴矢量图标库
- ,遇到某个类中有很多相似的方法,区别只是后缀不同,可以通过这个方法,实现拼接方法名而调用方法
- iOS逆序
- 用Maven插件生成Mybatis代码
- 浅谈Java异常
- AppServ中配置问题
- LINUX定时执行shell脚本
- Android:屏幕适配
- 2016年计划
- install openstack liberty in ubuntu 14.04 server