【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接口代理对象的创建。

相关推荐
threelab5 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师725 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴5 小时前
线程的生命周期之线程“插队“
java·开发语言·python
ANnianStriver5 小时前
PetLumina-02-后端开发与前后端联调
java·ai·sa-token
杨了个杨89826 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
kaikaile19956 小时前
数字全息图处理系统(C# 实现)
开发语言·c#
秋97 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
huangdong_8 小时前
1688商品图片采集技术解析:登录态处理与SKU图自动分类
开发语言
马士兵教育8 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
chase_my_dream8 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试