当前位置: 首页 > news >正文

Java-反射

一.定义

反射机制是在运行时,对于任意一个类,都可以知道这个类的所有属性和方法;对于任意个对象,都可以调用它的任意一个方法。只要给定类的名称,就可以通过反射机制获得类的所有信息。这种动态获取信息以及动态调用方法的功能称为java语言的反射机制。

二.优缺点

优点:

1.增加程序的灵活性,避免将固有的逻辑程序写死在代码里面

2.代码简洁,可读性增强,可提高代码的复用率

缺点:

1.相较于直接调用,在调用量大的情况下,反射效率低

2.存在内部暴漏和安全隐患

三.获取class的方式

1.Class.forName(“类的路径”)

2.类名.class

3.对象名.getClass()

4.基本类型的包装类,可以调用包装类的Type属性

四.哪里会用到反射机制

1.动态代理: 代理类在运行时通过反射获取目标类的方法信息,生成代理方法,并在调用目标方法时插入额外逻辑(如日志、事务控制)。

2.单元测试: 通过反射识别@Test注解的方法,并动态调用执行测试逻辑。

3.配置文件加载: 许多框架(如 Spring)使用反射机制来读取和解析配置文件,从而实现依赖注入和面向切面编程等功能。

五.实现反射机制的类

1.Class:表示正在运行的Java应用程序中的类和接口

2.Field:提供有关类和接口的属性信息,以及对它的动态访问权限

3.Constructor:提供关于类的单个构造方法的信息以及它的访问权限

4.Method:提供类或接口中某个方法的信息

http://www.xdnf.cn/news/1261693.html

相关文章:

  • 【华为机试】63. 不同路径 II
  • 医防融合中心-智慧化慢病全程管理医疗AI系统开发(中)
  • VScode 文件标签栏多行显示
  • python之注册机制总结
  • 什么是ros功能包和ros节点
  • @CacheConfig​​当前类中所有缓存方法详解
  • Redis数据组织方式
  • electron 静默安装同时安装完成后自动启动(nsis)
  • 38-TS之类型保护
  • 3D TOF 视觉相机:工业视觉的破局者,重塑视觉感知的未来
  • ​​《深入浅出K-means算法:从原理到实战全解析》​预告(提纲)
  • 13. 搜索引擎-ElasticSearch
  • 学习Java的Day27
  • 初识排序(下)-- 讲解超详细
  • Effective C++ 条款30:透彻了解inlining的里里外外
  • MQTT与服务器通讯
  • 微软公布Windows 2030,要彻底淘汰鼠标、键盘
  • 控制建模matlab练习13:线性状态反馈控制器-②系统的能控性
  • conda或mamba install 相关软件报错
  • MySQL数据库操作练习
  • 电脑IP地址是“169.254.x.x”而无法上网的原因
  • Maven/Gradle常用命令
  • 如何将 Vue 前端、Hardhat 合约和 Node.js 后端集成到一个项目中
  • 协同进化:AIGC、Agent和MCP如何相互促进共同发展
  • WinForm 对话框的 Show 与 ShowDialog:阻塞与非阻塞的抉择
  • ICCV-2025 | 同济上海AILab跨越虚拟与现实的具身导航!VLN-PE:重审视觉语言导航中的具身差距
  • 在Java中,守护线程(Daemon Thread)和用户线程(User Thread)以及本地线程(Native Thread)的区别
  • Go语言实战案例:简易JSON数据返回
  • 微软Azure AI Foundry正式上线GPT-5系列模型
  • 5 种简单方法将 Safari 书签转移到新 iPhone