更新時(shí)間:2023-12-18 來源:黑馬程序員 瀏覽量:
要取得一個(gè)類中的全部方法,可以使用Class類中的getMethods()方法,該方法返回一個(gè)Method類的對(duì)象數(shù)組。如果想要進(jìn)一步取得方法的具體信息,如方法的參數(shù)、拋出的異常聲明等,就必須依靠Method類。Method類的常用方法如表12-3所示。
表12-3 Method類的常用方法
接下來筆者通過一個(gè)簡單的示例,來演示下如何使用getMethods()方法獲取類中的全部方法:
import java.lang.reflect.Method;
import java.util.Arrays;
public class MethodExample {
public static void main(String[] args) {
// 獲取指定類的Class對(duì)象
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() {
// 私有方法
}
}
在這個(gè)例子中,MethodExample類使用了反射的getMethods()方法獲取了MyClass類中的全部公共方法。然后通過遍歷方法數(shù)組,打印了這些方法的名稱。
需要注意的是,getMethods()方法只能獲取到公共(public)訪問級(jí)別的方法,如果想要獲取所有的方法,包括私有方法和受保護(hù)的方法,可以使用getDeclaredMethods()方法。
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):https://java.itheima.com