Java 反射

反射

概念

Reflection(反射) 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,也有称作“自省”。反射非常强大,它甚至能直接操作程序的私有属性。

反射就像一面镜子,它可以在运行时获取一个类的所有信息,可以获取到任何定义的信息(包括成员变量,成员方法,构造器等),并且可以操纵类的字段、方法、构造器等部分。

为什么需要反射

好好的我们new User(); 不是很好,为什么要去通过反射创建对象呢?

在开发的世界里,spring就是专业的组织,它来帮我们创建对象,管理对象。我们不在new对象,而直接从spring提供的容器中beans获取即可。Beans底层其实就是一个Map,最终通过getBean(“user”)来获取。而这其中最核心的实现就是利用反射技术。

Java 反射_第1张图片

暴力反射

指可以将程序中的私有的属性或者方法通过反射技术,暴力的获取到资源,可以获得公开的资源,甚至是私有的资源。暴力反射的方法一般就是在反射的方法上加上Declared这个单词。
Java 反射_第2张图片

你可能感兴趣的:(Java 反射)