首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
java学习笔记(十七)——反射,注解,Junit单元框架
📅 2026/10/26 1:26:38
✍️ 爱科研究院
👁 阅读 3,247
文章目录Junit单元框架具体步骤常用方法反射获取类获取类的构造器获取类的成员变量获取类的成员方法应用场景注解自定义注解元注解注解的解析应用Junit单元框架具体步骤将Junit框架的jar包导入到项目中注意IDEA集成了Junit框架不需要我们自己手工导入了编写测试类、测试类方法注意测试方法必须是公共的无参数无返回值的非静态方法必须在测试方法上使用Test注解标注该方法是一个测试方法在测试方法中编写程序调用被测试的方法即可。选中测试方法右键选择“JUnit运行” 如果测试通过则是绿色如果测试失败则是红色常用方法反射获取类方式一Class c1 Class.forName(“全类名”);方式二Class c2 类名.class方式三Class c3 对象.getClass();获取类的构造器利用反射技术获取构造器对象的方式getDeclaredConstructors()getDeclaredConstructor (Class?… parameterTypes)反射得到的构造器可以做什么依然是创建对象的public newInstance(Object… initargs)如果是非public的构造器需要打开权限暴力反射然后再创建对象setAccessible(boolean)反射可以破坏封装性私有的也可以执行了。获取类的成员变量获取类中成员变量对象的方法getDeclaredFields()getDeclaredField (String name)反射得到成员变量可以做什么依然是在某个对象中取值和赋值。void set(Object obj, Object value)Object get(Object obj)如果某成员变量是非public的需要打开权限暴力反射然后再取值、赋值setAccessible(boolean)获取类的成员方法利用反射技术获取成员方法对象的方式getDeclaredMethods()getDeclaredMethod (String name, Class?… parameterTypes)反射得到成员方法可以做什么依然是在某个对象中触发该方法执行。Object invoke(Object obj, Object… args)如果某成员方法是非public的需要打开权限暴力反射然后再触发执行setAccessible(boolean)应用场景绕过泛型编译成Class文件进入运行阶段的时候泛型会自动擦除。反射是作用在运行时的技术此时已经不存在泛型了。搭建框架需求给你任意一个对象在不清楚对象字段的情况可以可以把对象的字段名称和对应值存储到文件中去。分析定义一个方法可以接收任意类的对象。每次收到一个对象后需要解析这个对象的全部成员变量名称。这个对象可能是任意的那么怎么样才可以知道这个对象的全部成员变量名称呢使用反射获取对象的Class类对象然后获取全部成员变量信息。遍历成员变量信息然后提取本成员变量在对象中的具体值存入成员变量名称和值到文件中去即可。注解自定义注解Annotation: 注解的顶级接口注解都是Annotation类型的对象元注解注解注解的注解Target约束自定义注解可以标记的范围。Retention用来约束自定义注解的存活范围。注解的解析解析技巧注解在哪个成分上我们就先拿哪个成分对象。比如注解作用成员方法则要获得该成员方法对应的Method对象再来拿上面的注解比如注解作用在类上则要该类的Class对象再来拿上面的注解比如注解作用在成员变量上则要获得该成员变量对应的Field对象再来拿上面的注解应用模拟Junit框架
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/26 1:26:38
java学习笔记(十六)——多线程
2026/10/26 1:26:38
GTweak 作者怎么联系?3 步走通的社区支持渠道完整教程
2026/10/26 1:21:38
别贪全下!MiniMax H3本地部署只需要拿这几个文件
2026/10/26 5:57:26
PGP加密软件安装包实战:密钥生成、文件签名与验签完整指南
2026/10/26 5:57:26
决策树过拟合全解析:从预剪枝到后剪枝的调参实战
2026/10/26 5:57:26
OpenAI DevDay 2026深度解读:dots、Spaces与GPT-6.1 Sol如何重塑AI工作流
2026/10/26 5:57:26
线性代数教学:行列式争议与几何化教学探索
2026/10/26 5:57:26
大模型编程工具与应用场景全解析
2026/10/26 5:52:26
阿里悟空Agent平台:企业级AI智能体开发与运行解析
2026/10/26 0:01:33
热搜量不是文档频率:先把 BM25 的统计口径分开
2026/10/26 0:01:33
Nested Learning:解决AI灾难性遗忘的分层记忆架构
2026/10/26 0:01:33
企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战
2026/10/25 0:02:11
全国计算机二级C语言真题PDF高效刷题指南
2026/10/26 0:03:29
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/25 0:02:11
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/25 22:15:16
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/23 10:58:39
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/25 12:42:56
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)