【Java-反射】

什么是反射?

JAVA反射机制是在运行状态中,创建任意一个类,能获取这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

实现反射机制需要得到Class对象,每个类在编译时会生成对应字节码的Class,Class类用于表示.class文件

如何获得Class对象:

1.Class.forName(),通过类的完全限定名Class对象

2.类名.class,通过类名的class属性获取class对象

3.对象.getClass(),通过对象的getClass()方法获取Class对象。

反射的主要用途:

1.动态加载类、创建对象

2.调用方法

3.访问成员变量

4.运行时类型信息

Java如何实现反射:

在JDK中,主要由以下类来实现Java反射机制:

反射使用场景举例:

1.使用JDBC连接数据库时,使用Class.forName(),通过反射动态加载数据库驱动类。

2.Spring框架的IOC创建对象以及AOP动态代理都使用反射进行底层实现。

3.MyBatis框架通过反射实现Mapper接口代理对象的创建。

相关推荐
lingchen19062 分钟前
MATLAB的数值计算(三)曲线拟合与插值
开发语言·matlab
gb421528727 分钟前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
一朵梨花压海棠go33 分钟前
html+js实现表格本地筛选
开发语言·javascript·html·ecmascript
曾经的三心草38 分钟前
Python2-工具安装使用-anaconda-jupyter-PyCharm-Matplotlib
android·java·服务器
蒋星熠38 分钟前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
Metaphor69239 分钟前
Java 高效处理 Word 文档:查找并替换文本的全面指南
java·经验分享·word
ChinaRainbowSea1 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
stormsha1 小时前
飞算JavaAI炫技赛电商系统商品管理模块的架构设计与实现
java·架构·鸿蒙系统
minh_coo1 小时前
Spring框架事件驱动架构核心注解之@EventListener
java·后端·spring·架构·intellij-idea
翻滚丷大头鱼1 小时前
Java 集合Collection—List
java·开发语言