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