0
点赞
收藏
分享

微信扫一扫

JAVA系列:Java反射机制

孟祥忠诗歌 2022-03-12 阅读 33


目录

什么是反射机制?

反射主要提供以下功能

如何使用反射

demo

反射API

暴力反射

什么是反射机制?


在通常情况下,如果有一个类,可以通过类创建对象;但是反射就是要求通过一个对象找到一个类的名称;


假设对于类ReflectionTest.java,我们知道的唯一信息是它的类名是 com.skywang.Reflection。 这时,我们想要知道ReflectionTest.java的其它信息(比如它的构造函数,它的成员变量等等),要怎么办呢?

这就需要用到“反射”。通过反射,我们可以解析出ReflectionTest.java的完整信息,包括它的构造函数,成员变量,继承关系等等。




反射主要提供以下功能



  • 在运行时判断任意一个类所具有的成员变量和方法);
  • 在运行时判断任意一个对象所属的类

这种动态获取的信息及动态调用对象的方法的功能称为:反射机制


如何使用反射

这个过程主要分为两步:


第1步:根据“类名”来获取对应类的Class对象。

第2步:通过Class对象的函数接口,来读取“类的构造函数,成员变量”等信息。


demo

JAVA系列:Java反射机制_成员变量



反射API


Constructor:用来描述一个类的构造方法

Field:用来描述一个类的成员变量

Method:用来描述一个类的方法

Modifer:用来描述类内部各元素的修饰符

Array:用来对数组进行操作



暴力反射


暴力反射就是将类的一些私有的成员,通过getDeclaredMethod,getDeclaredField, getDeclaredConstructor

强制取出。通过setAccessible(true)方法。






 new与newInstance()的区别

获取Class对象的3种方法

Java的反射性能问题


举报

相关推荐

0 条评论