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

相关推荐
哪 吒几秒前
【全网首发】2024华为OD机试 E卷&D卷抽中题库清单(全真题库,持续更新)含考点说明
java·算法·华为od·ai编程·七日集训
解孔明5 分钟前
数据类型自动转换的解决方案
java·开发语言
时间会证明一切.10 分钟前
【Java面试】第十天
java·开发语言·spring·面试
_小杜小杜_12 分钟前
Java集合(八股)
java
学习使我变快乐21 分钟前
C++:初始化列表
开发语言·c++·算法
破刺不会编程27 分钟前
【C++】透析string类
c语言·开发语言·数据结构·c++
杨半仙儿还未成仙儿31 分钟前
java注解
java·开发语言
编程零零七37 分钟前
python数据分析知识点大全
开发语言·python·python基础·python教程·python数据分析·数据分析知识点大全·python数据分析知识点
我是Superman丶38 分钟前
【工具】Java Excel转图片
java·python·excel
wxin_VXbishe42 分钟前
springboot瑜伽课约课小程序-计算机毕业设计源码87936
java·c++·spring boot·python·spring·servlet·php