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

相关推荐
独断万古他化几秒前
【Java 实战项目】多用户网页版聊天室:消息传输模块 —— 基于 WebSocket 实现实时通信
java·spring boot·后端·websocket·ajax·mybatis
yyt3630458417 分钟前
spring单例bean线程安全问题讨论
java·spring
weixin_6495556711 分钟前
C语言程序设计第四版(何钦铭、颜晖)第十一章指针进阶之奇数值结点链表
c语言·开发语言·链表
书到用时方恨少!27 分钟前
Python os 模块使用指南:系统交互的瑞士军刀
开发语言·python
我是大猴子27 分钟前
事务失效的几种情况以及是为什么(详解)
java·开发语言
武藤一雄1 小时前
C#:nameof 运算符全指南
开发语言·microsoft·c#·.net·.netcore
wertyuytrewm1 小时前
Java面试——Java基础
java·jvm·面试
czlczl200209251 小时前
RAG实现思路流程
java·jvm
带娃的IT创业者1 小时前
WeClaw_40_系统监控与日志体系:多层次日志架构与Trace追踪
java·开发语言·python·架构·系统监控·日志系统·链路追踪
Y001112361 小时前
JDBC原理
java·开发语言·数据库·jdbc