更新时间:2023-12-18 来源:黑马程序员 浏览量:
要取得一个类中的全部方法,可以使用Class类中的getMethods()方法,该方法返回一个Method类的对象数组。如果想要进一步取得方法的具体信息,如方法的参数、抛出的异常声明等,就必须依靠Method类。Method类的常用方法如表12-3所示。
表12-3 Method类的常用方法
接下来笔者通过一个简单的示例,来演示下如何使用getMethods()方法获取类中的全部方法:
import java.lang.reflect.Method;
import java.util.Arrays;
public class MethodExample {
public static void main(String[] args) {
// 获取指定类的Class对象
Class<?> clazz = MyClass.class;
// 获取类中的全部公共方法
Method[] methods = clazz.getMethods();
// 打印方法名
System.out.println("类 " + clazz.getSimpleName() + " 中的全部公共方法:");
for (Method method : methods) {
System.out.println(method.getName());
}
}
}
class MyClass {
public void method1() {
// 方法1
}
public void method2(int param) {
// 方法2
}
public String method3(String str) {
// 方法3
return str;
}
private void privateMethod() {
// 私有方法
}
}
在这个例子中,MethodExample类使用了反射的getMethods()方法获取了MyClass类中的全部公共方法。然后通过遍历方法数组,打印了这些方法的名称。
需要注意的是,getMethods()方法只能获取到公共(public)访问级别的方法,如果想要获取所有的方法,包括私有方法和受保护的方法,可以使用getDeclaredMethods()方法。
本文版权归黑马程序员Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员Java培训学院