Java反射机制

反射机制概念:

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

那么Java是如何动态的获取对象的方法和属性的呢?

JVM需要哪个类,classLoder就会去加载这个类,让后根据.class文件生成一个独一无二的class对象,该class对象记载了该类所有的属性和方法;让后JVM就根据该类的实例进行一些列的操作
class对象一般都是由虚拟机调用的(虽然我们也可以创建),基于此,实现了Java的反射机制

获取class对象的三种机制:
1.通过Object类的getClass()方法。例如:
Class c1 = new String(“”).getClass();

2.通过Class类的静态方法——forName()来实现
Class c2 = Class.forName(“MyObject”);

3.如果T是一个已定义的类型的话,在java中,它的.class文件名:T.class就代表了与其匹配的Class对象,例如:
Class c3 = Manager.class;
Class c4 = int.class;
Class c5 = Double[].class;

通过class对象获取类的方法和属性:

获取方法:
getDeclaredMethods()
获取所有的方法

getDeclaredMethod(“方法名”,参数类型.class,……)
获得特定的方法

获取构造方法:
getDeclaredConstructors()
获取所有的构造方法
getDeclaredConstructor(参数类型.class,……)
获取特定的构造方法

获取成员:
getDeclaredFields()
获取所有的成员变量
getDeclaredField(“id”);
获取特定的成员

posted @   帅气好男人_jack  阅读(3)  评论(0编辑  收藏  举报  
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示