📅  最后修改于: 2023-12-03 14:42:58.571000             🧑  作者: Mango
在Java中,可以使用反射机制来获取一个类的方法并调用它们。getDeclaredMethod()是一个用于获取类中声明的方法的方法。它返回一个Method对象,可以使用该对象来调用方法。
以下是getDeclaredMethod()方法的语法:
Method getDeclaredMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
参数说明:
返回值:
假设有一个类MyClass
,其中包含三个公共方法method1()
、method2()
和method3()
,它们的形参类型都不同。在下面的示例中,我们将使用getDeclaredMethod()方法获取一个名为"method2"的方法:
import java.lang.reflect.*;
public class MyClass {
public void method1(int n) {
System.out.println("method1 with integer: " + n);
}
public void method2(String message) {
System.out.println("method2 with string: " + message);
}
public void method3(boolean b) {
System.out.println("method3 with boolean: " + b);
}
}
public class Main {
public static void main(String[] args) throws Exception {
MyClass obj = new MyClass();
Method method = MyClass.class.getDeclaredMethod("method2", String.class);
method.invoke(obj, "Hello World");
}
}
在代码中,我们创建了一个MyClass对象,并使用getDeclaredMethod()方法获取了一个名为"method2"的方法。然后,我们使用Method对象的invoke()方法调用该方法,并传递一个字符串参数"Hello World"。