2019独角兽企业重金招聘Python工程师标准>>>

最近写项目,用反射的比较多,写一个总结,以便查阅。

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,哈,欢迎大家一起探讨。

转载于:https://my.oschina.net/u/1407116/blog/209417

JAVA反射系列之Method,java.lang.reflect.Method的使用。相关推荐

  1. JAVA反射系列之Field,java.lang.reflect.Field使用获取方法。

    2019独角兽企业重金招聘Python工程师标准>>> 首先必须明一点 Field类主要是用来辅助获取和操作类的属性的! 1.怎么通过反射获取类的属性 先来看JDK提供的方法有如下几 ...

  2. JAVA反射系列之Method,java.lang.reflect.Method的使用

    摘要: ava.lang.reflect.Method的基本使用. 最近写项目,用反射的比较多,写一个总结,以便查阅. Method是反射最基本的一个类. 直接上代码: [java] view pla ...

  3. 注解和反射详细笔记。自定义注解,元注解,内置注解。反射机制,Java Reflection,Java内存分析,反射操作注解,java.lang.reflect.Method,Class

    文章目录 注解 什么是注解 内置注解 元注解 自定义注解 反射机制 静态语言 vs 静态语言 Java Reflection 反射相关的主要API Class类 Java内存分析 创建运行时类的对象 ...

  4. Java反射之java.lang.reflect.Method

    前一篇文章讲了Class中的成员变量(java.lang.reflect.Field)的常用使用方式以及其注意事项.我们接着讲Class中的方法(java.lang.reflect.Method). ...

  5. 使用java.lang.reflect.Method.invoke抛出java.lang.IllegalArgumentException: argument type mismatch异常

    错误信息: java.lang.IllegalArgumentException: argument type mismatch     at sun.reflect.NativeMethodAcce ...

  6. Java反射系列--Type接口及其子接口

    原文网址:Java反射系列--Type接口及其子接口_IT利刃出鞘的博客-CSDN博客 简介 说明 Type 是java反射机制中提供的一个接口,用来表示java中的所有类型的接口.它们包括原始类型. ...

  7. Java 反射系列 —— 学习笔记

    Java 反射系列 1. 类成员 为了更好的描述,我们做个约定个通配符 XXXX, 如果是成员变量就代表 Field, 如果是类方法就代表 Method, 如果是构造器就代表 Constructor. ...

  8. Java 反射 (Class、ClassLoader、Constructor、Method、Field)

    反射是Java中一个非常重要.非常强大的机制.曾看到一句话"反射是框架的灵魂",初学时不懂,等到学完框架之后才慢慢理解其意. 什么是反射?我们先通过几个类和示例来初步体会一下反射. ...

  9. java 反射 Gc_深入浅析Java反射机制

    Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反 ...

最新文章

  1. IO流 带行号的缓冲区
  2. 日调用量超三十万亿,腾讯开源百万级服务发现和治理中心北极星
  3. php数据库额外属性,PHP神秘的额外数据库插入
  4. go gorm框架一对多查询代码示例
  5. [转载] 七龙珠第一部——第063话 悟空大反击
  6. Struts2的Action配置的各项默认值
  7. C语言 memcpy函数(增加dst 从第一字节拷贝判断)的内部简单实现方式
  8. Linux学习-YUM 在线升级机制
  9. OOP_面向对象程序设计概述
  10. Arturia DX7 V for Mac(模拟FM数字合成器)
  11. Python代码: 把几个PDF文件拼接为一个 Merge PDF files
  12. JLink的JTag和SWD引脚定义及接线说明
  13. 网址导航7654推广
  14. ecshop与shopex哪个更好?
  15. 神秘海域:顶级工作室“顽皮狗”成长史(上)
  16. 安全站点导航(感谢backlion整理)
  17. 计算机组成原理编码键盘实验报告,计算机组成原理实验报告–杨睿.doc
  18. Thinkpad T460更换固态硬盘
  19. 专用神经网络处理器的芯片,cpu可以跑神经网络吗
  20. 【建议收藏】20个Python非常有用的单行代码

热门文章

  1. 你会想待下去吗?世界上25个最惊险的屋顶
  2. java interface abstract
  3. 超人学院Hadoop大数据高薪就业分享
  4. 怎么样写一个 node.js模块以及NPM Package
  5. 基于LDAP的WebLogic虚拟化统一用户权限管理
  6. TensorFlow的基础概念04
  7. nodejs总结之redis模块
  8. 一个U盘走天下,装机大神撩妹的不二之选
  9. View4.5测试参考文档1--测试环境规划
  10. eigrp与ospf的综合实验(还是要想想办法才做得出来哦)