java如何获取要反射的方法
作者:ClearCorner
时间:2023-04-26
浏览:0
获取要反射的方法获取反射方法时,有两个方法,getMethod和getDeclaredMethod。classClass{@CallerSensitivepublicMethodgetMethod(Stringname,Class...parameterTypes)throwsNoSuchMethodException,SecurityException{Objects.requireNonNull(name);SecurityManagersm=System.getSecurityManager();i
本文目录
获取要反射的方法
获取反射方法时,有两个方法,getMethod 和 getDeclaredMethod。
class Class {
@CallerSensitive
public Method getMethod(String name, Class>... parameterTypes)
throws NoSuchMethodException, SecurityException {
Objects.requireNonNull(name);
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
// 1. 检查方法权限
checkMemberAccess(sm, Member.PUBLIC, Reflection.getCallerClass(), true);
}
// 2. 获取方法
Method method = getMethod0(name, parameterTypes);
if (method == null) {
throw new NoSuchMethodException(methodToString(name, parameterTypes));
}
// 3. 返回方法的拷贝
return getReflectionFactory().copyMethod(method);
}
@CallerSensitive
public Method getDeclaredMethod(String name, Class>... parameterTypes)
throws NoSuchMethodException, SecurityException {
Objects.requireNonNull(name);
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
// 1. 检查方法是权限
checkMemberAccess(sm, Member.DECLARED, Reflection.getCallerClass(), true);
}
// 2. 获取方法
Method method = searchMethods(privateGetDeclaredMethods(false), name, parameterTypes);
if (method == null) {
throw new NoSuchMethodException(methodToString(name, parameterTypes));
}
// 3. 返回方法的拷贝
return getReflectionFactory().copyMethod(method);
}
}
作者最新文章
python 绿色版:概念解析、环境隔离与验证流程
2026-09-05 07:27
书香门第在线阅读入口 书香门第txt全本小说网
2026-09-03 17:28
多张图片转PDF教程:在线批量合成与顺序调整技巧
2026-09-03 10:03
AutoCAD 2014安装指南:环境检查、授权配置与首次启动设置
2026-09-02 13:34
watchstore下载软件教程:设备兼容、安装流程与常见故障
2026-09-02 13:24
上一篇:
MySQL和Oracle的不同点有哪些
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































