java反射

一、什么是反射

反射允许对成员变量、成员方法、和构造方法进行编程式访问

Java反射是一种能在运行时检查和修改代码的能力,允许程序在运行时获取类的信息、操作类的属性和方法等。这种机制使得Java具有更灵活的编程能力,广泛应用于各种框架中,如Spring、MyBatis等。

  • 基本概念:Java反射是一种强大的编程技术,它允许程序在运行时访问、检查甚至修改自身状态和行为。这种机制打开了一个通往自省和动态执行的大门,使开发者能够在不完全了解一个类的情况下,仍然能够使用该类的方法和属性。
  • 核心功能:通过反射,可以获取类的结构信息(如构造函数、成员变量、方法等),并且能进行动态的实例化对象、调用方法以及修改属性值等操作。

二、反射的用法 示例

1 获取Class对象的三种方法

①Class.forName("全类名");

②类名.Class;

③类的对象.getClass();

2 .从类中获取构造器

2.1 .getConstructors();

//只能获取public修饰的

2.2..getDeclaredConstructors();

//获取全部的

2.3 获取某个构造器

获取有参的构造器

2.4 获取类构造器的作用

:进行初始化对象并返回

学生类:

测试代码

运行结果

3.从类中获取成员变量

3.1获取全部的成员变量

3.2获取指定的成员变量

3.3获取成员变量的目的是赋值和取值

4.获取成员方法

4.1获取全部成员方法,和获取单个

4.2获取成员方法的目的是执行这个方法

相关推荐
咖啡八杯9 分钟前
GoF设计模式——迭代器模式
java·后端·设计模式·迭代器模式
远离UE414 分钟前
UE5 compute shader 原子加
开发语言·c++·ue5
C+-C资深大佬17 分钟前
C++ 显式类型转换详解:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
AIGS00123 分钟前
企业AI落地的关键认知:向量空间JBoltAI的本体语义平台
java·人工智能·人工智能ai大模型应用
KaMeidebaby1 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17682 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
Mininglamp_27182 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
思麟呀3 小时前
C++17(三)if constexpr+折叠表达式
开发语言·c++
醉城夜风~3 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
qydz113 小时前
杰理开发基础知识(3)
开发语言·嵌入式开发·杰理科技