通过Java中的名称和参数类型获取声明的方法
可以使用java.lang.Class.getDeclaredMethod()方法通过名称和参数类型获取声明的方法。该方法采用两个参数,即方法的名称和方法的参数数组。
该getDeclaredMethod()
方法为该类的方法返回一个Method对象,该对象与该方法的名称和作为参数的参数数组相匹配。
给出一个通过名称和使用该getDeclaredMethod()
方法的参数类型获取已声明方法的程序,如下所示:
示例
package Test;import java.lang.reflect.*;
public class Demo {
public String str;
private Integer func1() {
return 1;
}
public void func2(String str) {
this.str = "Stars";
}
public static void main(String[] args) {
Demo obj = new Demo();
Class c = obj.getClass();
try {
Method m1 = c.getDeclaredMethod("func1", null);
System.out.println("The method is: " + m1.toString());
Class[] argument = new Class[1];
argument[0] = String.class;
Method m2 = c.getDeclaredMethod("func2", argument);
System.out.println("The method is: " + m2.toString());
}
catch(NoSuchMethodException e){
System.out.println(e.toString());
}
}
}
输出结果
The method is: private java.lang.Integer Test.Demo.func1()The method is: public void Test.Demo.func2(java.lang.String)
现在让我们了解上面的程序。
在Demo类中,两个方法是func1()和func2()。演示这的代码片段如下-
public String str;private Integer func1() {
return 1;
}
public void func2(String str) {
this.str = "Stars";
}
在该方法中main()
,创建了Demo类的对象obj。然后getClass()
用于获取c中的obj类。最后,该getDeclaredMethod()
方法用于获取方法func1()和func2()并显示它们。演示这的代码片段如下-
Demo obj = new Demo();Class c = obj.getClass();
try {
Method m1 = c.getDeclaredMethod("func1", null);
System.out.println("The method is: " + m1.toString());
Class[] argument = new Class[1];
argument[0] = String.class;
Method m2 = c.getDeclaredMethod("func2", argument);
System.out.println("The method is: " + m2.toString());
}
以上是 通过Java中的名称和参数类型获取声明的方法 的全部内容, 来源链接: utcz.com/z/338063.html