反射调用方法:

 package cn.tx.reflect;

 import java.lang.reflect.Constructor;
import java.lang.reflect.Method; /**
* 反射调用方法
* Object java.lang.reflect.Method.invoke(Object obj, Object... args)
* 如果底层方法是实例方法,第一个参数就是该实例对象,第二个参数是方法的参数列表,invoke的返回值就是实例方法的返回值
* 如果底层方法是静态的,那么可以忽略指定的obj参数,可以为null
* 如果底层方法所需的形参为0,则所提供的args数组长度可以为0或null(参见后面的method2.invoke(object))
* @author Administrator
*
*/
public class ReflectLearn4 {
public static void main(String[] args) throws Exception { Class<?> clazz = Class.forName("cn.tx.reflect.Person");
//获取cn.tx.Person类的无参构造
Constructor<?> constructor = clazz.getConstructor();
//获取一个实例
Object object = constructor.newInstance(); //反射调用setName()方法:method.invoke,返回的就是调用的方法的返回值
Method method = clazz.getDeclaredMethod("setName", String.class);
Object invoke = method.invoke(object, "james");//set方法,没有返回值,此处invoke是 null
System.out.println(object.toString()); //Person [address=null, id=null, name=james] //反射调用getName()方法
Method method2 = clazz.getDeclaredMethod("getName");
Object invoke2 = method2.invoke(object);
System.out.println(invoke2); //反射调用静态方法
Method method3 = clazz.getDeclaredMethod("printInfo",null); //printInfo方法没有参数,写null
method3.invoke(null,null);//静态方法,第一个参数可以为null } }

结果如下:

最新文章

  1. salesforce 零基础学习(五十五)java通过SOAP方式定时访问某个文件然后插入到sObject中
  2. 华硕笔记本U盘启动系统/WinPE报错。Windows failed to start. A Recent hardware or software change might be the cause.
  3. Docker实践,来自沪江、滴滴、蘑菇街架构师的交流分享
  4. 初探VIM编辑器
  5. C#写快速排序
  6. Struts2 数据校验流程
  7. php笔记[1]
  8. golang vim环境搭建
  9. linux下安装apache详解
  10. Cycling Label
  11. Core Animation 文档翻译 (第六篇)
  12. 洛谷 [P1387] 最大正方形
  13. vue(2)—— vue简单语法运用,常用指令集
  14. 使用ajax分页查询
  15. Kali学习笔记25:Arachni使用(实现分布式扫描)
  16. XPath简介及节点
  17. Django + nginx + uswgi 的部署总结
  18. C# 编码规范、命名规则
  19. [转]google gflags 库完全使用
  20. Python IDLE快捷键【转载合集】

热门文章

  1. Cookie由谁设置、怎么设置、有什么内容?
  2. scau 17967 大师姐唱K的固有结界
  3. php面试专题---12、JavaScript和jQuery基础考点
  4. 设置VsCode自动换行
  5. science_action
  6. C#-概念-接口:接口
  7. day21—AngularJS学习初体验
  8. Linux 初始化系统(init)- systemd
  9. linux操作系统的调度策略
  10. 06(H5*)Vue第五天、第六天 Vue常见命令