java反射机制原理:
一、反射机制的概念:
指在运行状态中,关于任意一个类,都能够知道这个类的全部特点和办法,关于任意一个目标,都能调用它的任意一个办法.这种动态获取信息,以及动态调用目标办法的功用叫java语言的反射机制.
二、反射机制的使用:
生成动态署理,面向切片编程(在调用办法的前后各加栈帧).
三、反射机制的原理:
1、首先明确的概念:全部皆目标—-类也是目标.
2、然后知道类中的内容:modifierconstructorfieldmethod.
3、其次明白加载:当Animal.class在硬盘中时,是一个文件,当载入到内存中,可以认为是一个目标,是java.lang.class的目标.
当运行程序时,实例化时发生Animal.class目标,这两个目标有什么区别?
如下图,上面的Animal.class目标是java.lang.class的目标;下面的目标是Animal.class实例化发生的目标
4、当Animal.class载入到JVM中,JVM是怎样辨认Animal.class中含有的办法,成员变量,结构办法等内容?
如下图,Animal.class实例化目标中成员变量毛色=赤色;

java

加载到内存的时分,毛色=null,是在实例化的时分毛色被赋值为赤色.
Animal.class中毛色这个特点关于java.lang.class来说,是Field的一个特点值,毛色关于java.lang.class来说也是一个目标.这也是反射机制动态获取信息,以及动态调用目标办法的原因.
下图是Java.lang.class中的办法
java反射机制

在java.lang.class中,毛色是Field的一个特点值,Animal中全部的办法,成员变量,结构器,修饰符都是按照java.lang.class中的规范去写的,不然会在编译的时分报错

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注