2024年6月6日发(作者:)

java获取反射 method 调用方法

反射是Java中的一个重要特性,它允许我们在运行时动态地获取

和操作类的信息。通过反射,我们可以获取类的构造方法、字段和方

法等,还可以动态地创建实例对象、调用方法和改变字段的值。在这

篇文章中,我将重点介绍如何使用反射来调用方法。

反射使用了一组类,包括Class、Method、Constructor和Field

等。其中,Method类代表类的方法,Constructor类代表构造方法,

Field类代表类的字段。通过这些类,我们可以获取类的所有方法、构

造方法和字段。

在使用反射调用方法之前,我们首先需要获得要调用的方法。

Java提供了多种方式来获取方法,这里我将介绍两种常用的方式。

第一种方式是通过Class对象的getMethod()方法来获取指定的方

法。getMethod()方法接受两个参数,第一个参数是要获取的方法的名

称,第二个参数是方法的参数类型。例如,要获取类的public方法,

可以使用以下代码:

```

Class clazz = ;

Method method = hod("methodName",

parameterTypes);

```

第二种方式是通过Class对象的getMethods()方法来获取所有的

方法。getMethods()方法返回的是一个Method对象的数组,数组中包

含了类的所有public方法。例如,要获取类的所有public方法,可

以使用以下代码:

```

Class clazz = ;

Method[] methods = hods();

```

获取到方法之后,我们就可以使用Method对象来调用方法了。

Method类提供了多个方法来执行方法的调用,包括invoke()方法、

setAccessible()方法和getReturnType()方法等。