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

相关推荐
向哆哆10 分钟前
Java与NoSQL数据库的集成与优化
java·开发语言·nosql
茂茂在长安13 分钟前
Linux 命令大全完整版(11)
java·linux·运维·服务器·前端·centos
MSTcheng.14 分钟前
【C语言】指针(5)
c语言·开发语言
╮壞孩子的天15 分钟前
C语言多人聊天室 ---chat(客户端聊天)
c语言·开发语言
songbaoxian25 分钟前
ElasticSearch
java·linux·elasticsearch
IT猿手26 分钟前
2025高维多目标优化:基于导航变量的多目标粒子群优化算法(NMOPSO)的无人机三维路径规划,MATLAB代码
开发语言·人工智能·算法·机器学习·matlab·无人机·cocos2d
呱牛do it30 分钟前
Python Matplotlib图形美化指南
开发语言·python·matplotlib
pianmian133 分钟前
python制图之小提琴图
开发语言·python·信息可视化
水瓶丫头站住34 分钟前
Qt中QRadioButton的使用
开发语言·qt
非 白40 分钟前
【Java】代理模式
java·开发语言·代理模式