JAVA反射系列之Method,java.lang.reflect.Method的使用
来源:互联网 发布:大数据经典案例 编辑:程序博客网 时间:2024/06/13 02:32
JAVA反射系列之Method,java.lang.reflect.Method的使用。
收藏
- 发表于 3年前
- 阅读 7229
- 收藏 3
- 点赞 0
- 评论 4
摘要: ava.lang.reflect.Method的基本使用。
最近写项目,用反射的比较多,写一个总结,以便查阅。
Method是反射最基本的一个类。
直接上代码:
/** * @ClassName: Test * @Description: 测试类 * @author JoseanLuo * @date 2014-3-16 下午8:47:46 * @version V1.0 */public class Test { public String doRun(String pk,Student stu,String testrun) { return pk+stu+testrun; }}
测试
import java.lang.reflect.Method;/** * @ClassName: ReflectMethodTest * @Description: 反射方法测试 * @author JoseanLuo * @date 2014-3-18 下午8:53:51 * @version V1.0 */public class ReflectMethodTest{public static void main(String[] args) throws Exception{Class clz=Class.forName("com.cx.test.Test");System.out.println(clz);Test test=(Test) clz.newInstance();Method mt=clz.getMethod("doRun", new Class[]{String.class,Student.class,String.class});System.out.println(mt);System.out.println(mt.invoke(test, new Object[]{"i love you ",null,"i fuck you",}));}}
忘记加student类了,看我别一篇文章吧。
想要调用一个类的方法。
首先要获得这个类Class
这里用的
Class.forName("com.cx.test.Test");
取得clz,
然后利用clz.
clz.getMethod("doRun", new Class[]{String.class,Student.class,String.class});
取得Method对象
这里后一个可以不传,此时调用的是名字的无参方法。如
clz.getMethod("doRun");
调用的是doRun()方法。
如果你要想获取的方法和你传的参数类型,个数不同就会出错(排除重载)
得到了你相要的方法对象之后。
你就能直接调用他了
mt.invoke(test, new Object[]{"i love you ",null,"i fuck you",})
注意:方法参数顺序,按方法接收参数顺序。
赶紧试一下吧。 想要更加高级的功能,多看API,哈,欢迎大家一起探讨。
0 0
- JAVA反射系列之Method,java.lang.reflect.Method的使用
- JAVA反射系列之Method,java.lang.reflect.Method的使用
- JAVA反射系列之Method,java.lang.reflect.Method的使用
- java.lang.reflect.Method
- java的反射Reflect机制之Method篇
- java.lang.reflect 类 Method
- java.lang.reflect.Method (java反射机制)
- java.lang.reflect.Method.invoke(Unknown Source)
- Java.lang.reflect.Method invoke方法 实例
- Java.lang.reflect.Method invoke方法 实例
- Java.lang.reflect.Method invoke方法 实例
- method threw error : java.lang.reflect.InvocationTargetException
- 关于java.lang.reflect.Field 和 java.lang.reflect.Method 的问题 - hzalan的专栏 - CSDNBlog
- 关于java.lang.reflect.Field 和 java.lang.reflect.Method 的问题
- java反射之Method
- Java.lang.reflect 下的Class,Method,Field的使用实例
- java-day02-reflect-Method
- JAVA反射系列之Field----------java.lang.reflect.Field使用方法。
- ajax跨域调用(实例)
- Go语言 实现简单的 Set
- Shell Sort(希尔排序)
- java jxl 导出数据 合并单元格
- HEXIWEAR---SDK架构
- JAVA反射系列之Method,java.lang.reflect.Method的使用
- python之定义类并创建实例
- QML中,图片路径的问题
- CSAPP第八章:读书笔记
- CSS3 基础(014_媒体查询)
- Android 特效库 - Material 风格的概念设计
- TP的事务回滚
- solr 的分组统计
- python -log