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

相关推荐
ml130185288745 分钟前
开发一个小程序需要多久时间?小程序软件开发周期
java·小程序·开源软件·软件需求
haaaaaaarry6 分钟前
【SQL】子查询详解(附例题)
java·数据库·sql
hycccccch12 分钟前
超卖问题解决方案
java·笔记·lua
monstercl13 分钟前
【Lua】pcall使用详解
开发语言·lua
自在如风。17 分钟前
IntelliJ IDEA 中通义灵码插件使用指南
java·intellij-idea·ai编程·通义灵码
东方苾梦40 分钟前
SQL语言的计算机体系结构
开发语言·后端·golang
小徐Chao努力42 分钟前
【Centos】centos7内核升级-亲测有效
java·linux·源码·bbr
蹦蹦跳跳真可爱5891 小时前
Python----PaddlePaddle(深度学习框架PaddlePaddle,概述,安装,衍生工具)
开发语言·人工智能·python·paddlepaddle
雷渊1 小时前
在集群模式下,redis加锁和解锁如何定位一台机器上?
java·后端·面试
一只专注api接口开发的技术猿1 小时前
京东API智能风控引擎:基于行为分析识别恶意爬虫与异常调用
大数据·开发语言·前端·爬虫