反射

Java中反射学习系列教程四-常用API方法(三)

本文是《Java中反射学习系列教程》中的第五篇文章,如果想系统的学习反射技术,建议跟着本教程从第一篇文章开始。本文我们接着之前的讲解。本文主要内容1:通过反射调用方法2:反射操作类的属性4.2.8 方法调用如果想要调用反射出来对象的方法,就要看method对象的方法。我们查看method对象API中可以看到:有个invoke方法参数说明:方法调用步骤:1:获取到class对象2:获取对象

本文是《Java中反射学习系列教程》中的第五篇文章,如果想系统的学习反射技术,建议跟着本教程从第一篇文章开始。本文我们接着之前的讲解。

本文主要内容

1:通过反射调用方法

2:反射操作类的属性



4.2.8 方法调用

如果想要调用反射出来对象的方法,就要看method对象的方法。我们查看method对象API中可以看到:有个invoke方法

参数说明:

方法调用步骤:

1:获取到class对象

2:获取对象实例

3:获取对象方法

4:方法调用invoke方法

Demo实例代码:

/**
* 方法调用
*/
@Test
public void invokeMethodTest()throws  Exception{
   //1:获取到class对象
   Class clazz1 = Class.forName("com.kaigejava.domain.Student");
   //2:获取对象实例
   Constructor<?> constructor =  clazz1.getConstructor();
   Student student = (Student)constructor.newInstance();
   Class [] methodParamArgs = new Class[]{String.class};
   //3:获取对象方法 获取到setSchoolName方法
   Method setSchoolNameMethod = clazz1.getMethod("setSchoolName",methodParamArgs);
   //4:方法调用invoke方法  set方法调用  setSchoolName方法
   setSchoolNameMethod.invoke(student,new Object[]{"北京大学附属中学"});
   log.inf

原创不易,完成人机校验,阅读全文

相关推荐

© 凯哥Java · KAIGE.DEV · 记录真实开发问题与工程实践