共計 739 個字符,預(yù)計需要花費 2 分鐘才能閱讀完成。
Java 反射可以通過使用 getDeclaredMethod()
方法來獲取私有方法。getDeclaredMethod()
方法可以獲取指定名稱和參數(shù)類型的方法,包括私有方法。
以下是一個示例代碼,演示了如何使用反射獲取并調(diào)用私有方法:
import java.lang.reflect.Method;
public class ReflectionExample {private void privateMethod() {System.out.println(" 私有方法被調(diào)用 ");
}
public static void main(String[] args) throws Exception {// 獲取類的 Class 對象
Class<ReflectionExample> clazz = ReflectionExample.class;
// 獲取指定名稱的私有方法
Method privateMethod = clazz.getDeclaredMethod("privateMethod");
// 設(shè)置私有方法可訪問
privateMethod.setAccessible(true);
// 創(chuàng)建類的實例
ReflectionExample example = clazz.newInstance();
// 調(diào)用私有方法
privateMethod.invoke(example);
}
}
在上述代碼中,getDeclaredMethod()
方法用于獲取 privateMethod()
方法,setAccessible(true)
方法用于設(shè)置私有方法可訪問,invoke()
方法用于調(diào)用私有方法。
注意:在使用反射調(diào)用私有方法時,需要設(shè)置私有方法可訪問,否則會拋出 IllegalAccessException
異常。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完
發(fā)表至: Java
2024-01-29