Java 反射全套常用方法汇总
反射核心围绕Class、Constructor、Method、Field四大API下面分类整理附带作用与区分要点。前提获取类字节码对象1.Class clazz 目标类.class;2. Class clazz Class.forName(全类名);3.对象.getClass()一、Class 类获取类本身信息1. 获取构造器方法作用访问范围getConstructor(Class?... paramTypes)获取指定参数列表public构造器仅publicgetConstructors()获取所有public构造器数组仅publicgetDeclaredConstructor(Class?... paramTypes)获取指定参数列表构造器public/private/protected/默认getDeclaredConstructors()获取全部构造器数组全部权限2. 获取成员方法 Method方法作用访问范围getMethod(String name, Class?... paramTypes)获取指定名称参数列表public方法包含父类publicpublic可继承getMethods()获取本类父类所有public方法数组public可继承getDeclaredMethod(String name, Class?... paramTypes)获取本类指定名称参数方法本类全部权限不含父类getDeclaredMethods()获取本类全部方法数组本类全部权限不含父类3. 获取成员变量 Field方法作用访问范围getField(String name)获取public成员变量包含父类publicpublic可继承getFields()获取本类父类所有public变量数组public可继承getDeclaredField(String name)获取本类指定变量本类全部权限不含父类getDeclaredFields()获取本类全部变量数组本类全部权限不含父类4. Class 其他常用方法clazz.newInstance(); // JDK9废弃调用无参public构造器创建对象clazz.getSuperclass(); // 获取直接父类Classclazz.getInterfaces(); // 获取实现的所有接口clazz.getSimpleName(); // 简单类名Personclazz.getName(); // 全限定类名com.xxx.Personclazz.isAnnotationPresent(); // 判断是否存在注解clazz.isInterface(); // 判断是否是接口clazz.isArray(); // 判断是否数组二、Constructor 构造器对象con4.newInstance(Object... initargs); // 调用构造器实例化对象con4.getModifiers(); // 获取访问修饰符int掩码Modifier.toString(con4.getModifiers()) // 转为字符串 public/privatecon4.getParameters(); // 获取参数数组 Parameter[]JDK8con4.getParameterTypes(); // 获取参数类型 Class?[]con4.setAccessible(true); // 暴力反射关闭权限检查私有构造器必须三、Method 成员方法对象method.invoke(Object obj, Object... args);// 执行方法obj为实例对象静态方法传nullmethod.getName(); // 获取方法名method.getReturnType(); // 获取返回值类型method.getParameterTypes(); // 获取参数类型列表method.getModifiers(); // 修饰符method.setAccessible(true); // 暴力访问私有方法method.getAnnotations(); // 获取方法上注解四、Field 成员变量对象field.get(Object obj); // 获取obj对象该字段值field.set(Object obj, Object value);// 设置obj对象字段值field.getName(); // 变量名field.getType(); // 变量类型field.setAccessible(true); // 暴力访问私有变量五、通用工具Modifier 解析权限修饰符int mod xxx.getModifiers();Modifier.isPublic(mod);Modifier.isPrivate(mod);Modifier.isProtected(mod);Modifier.isStatic(mod);Modifier.isFinal(mod);Modifier.toString(mod); // 输出 public private static final六、核心区分口诀getXXX()只能拿到public包含父类getDeclaredXXX()本类所有权限public/private不包含父类访问私有构造器/方法/字段必须setAccessible(true)invoke()/newInstance()可能抛出IllegalAccessException权限异常七、典型完整示例ClassPerson clazz Person.class;// 1. 获取私有构造器Constructor c clazz.getDeclaredConstructor(String.class);c.setAccessible(true);Person p (Person) c.newInstance(小明);// 2. 获取私有方法Method m clazz.getDeclaredMethod(say, int.class);m.setAccessible(true);m.invoke(p, 18);// 3. 获取私有字段Field f clazz.getDeclaredField(age);f.setAccessible(true);f.set(p, 20);System.out.println(f.get(p));

相关新闻

第80讲:附赠——嵌入式双范式全套可复制Prompt库

第80讲:附赠——嵌入式双范式全套可复制Prompt库

第80讲:附赠——嵌入式双范式全套可复制Prompt库 专栏地址: 嵌入式程序开发实战嵌入式双范式AI编程嵌入式开发必掌握嵌入式求职面试技术资料 前言:为什么需要Prompt模板库? 为什么重要? 通过前面14讲的学习&#x…

2026/10/13 0:15:39 阅读更多 →
第79讲:输出净化——剔除AI废话,只保留纯净C代码

第79讲:输出净化——剔除AI废话,只保留纯净C代码

第79讲:输出净化——剔除AI废话,只保留纯净C代码 专栏地址: 嵌入式程序开发实战嵌入式双范式AI编程嵌入式开发必掌握嵌入式求职面试技术资料 前言:为什么需要净化AI输出? 为什么重要? AI输出通常包含大…

2026/10/12 22:24:02 阅读更多 →
MediaCrawler:一站式社交媒体数据采集终极指南

MediaCrawler:一站式社交媒体数据采集终极指南

MediaCrawler:一站式社交媒体数据采集终极指南 【免费下载链接】MediaCrawler-new 项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new 还在为获取小红书、抖音、快手、B站、微博等主流社交平台的数据而烦恼吗?MediaCrawler正是…

2026/10/12 19:34:13 阅读更多 →

最新新闻

LibGDX版植物大战僵尸Android源码:可调试、可修改、可二次开发

LibGDX版植物大战僵尸Android源码:可调试、可修改、可二次开发

简介:本资源为《植物大战僵尸》Android平台开源实现的完整工程源码,面向Android初/中级开发者及游戏开发学习者,聚焦塔防类游戏架构设计、核心逻辑实现与Android原生开发实践。压缩包共173个文件,含20个Java源文件(涵盖…

2026/10/14 1:56:16 阅读更多 →
ESP8285电机控制器MQTT联网实战:从硬件选型到MQTTX调试

ESP8285电机控制器MQTT联网实战:从硬件选型到MQTTX调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 1:56:16 阅读更多 →
OCS网课助手大模型增强版

OCS网课助手大模型增强版

基于OCS网课助手开源代码二次开发,增加可直接接入大模型进行答题的功能。本项目是基于 OCS 网课助手开源代码进行二次开发的开源工具,仅用于个人技术学习、代码研究,严禁用于代替本人完成课程作业、网课考试、线上测验等各类学业考核行为。使…

2026/10/14 1:56:16 阅读更多 →
Qt内嵌Vue混合开发:HTTP服务替代file://加载与健壮通信方案

Qt内嵌Vue混合开发:HTTP服务替代file://加载与健壮通信方案

简介:本资源是一套基于Qt实现Web服务器并加载Vue应用的C与HTML混合编程实战源码,面向具备Qt基础和前端开发经验的中高级开发者,解决桌面端嵌入Web界面、前后端一体化开发等典型企业级场景需求。压缩包共90个文件,含28个C头文件&am…

2026/10/14 1:56:16 阅读更多 →
LTK8315 单通道集成 H‑桥有刷直流电机驱动芯片|LTKCHIP 联辉科

LTK8315 单通道集成 H‑桥有刷直流电机驱动芯片|LTKCHIP 联辉科

一、产品整体概述LTK8315 是单通道全集成 H 桥电机驱动,SOP‑8 封装,内置四颗 N‑MOS 与电荷泵;电机电源 VM2.5‑12V;高低侧合计导通电阻典型 320mΩ;平均输出电流 2.1A,峰值 3.5A;INA、INB 两路…

2026/10/14 1:56:16 阅读更多 →
Dapper

Dapper

不使用Dapper是什么意思 & Dapper是什么 1. Dapper 是什么 Dapper 是.NET生态里最流行的轻量ORM(对象关系映射)库,Stack‑Overflow开发的,NuGet包名 Dapper。ORM:把数据库表 → C#实体类对象自动映射,不…

2026/10/14 1:55:16 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →