JAVA中的反射机制的定义
反射是Java语言的一个特性,它允许程序在运行时(注意不是编译的时候)来发现和使用类的信息。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。
反射就是把java类中的各种成分映射成一个个的Java对象。
反射的作用
(1)在运行时判断任意一个对象所属的类;
(2)在运行时获取类的对象;
(3)在运行时访问java对象的属性,方法,构造方法等。
反射在JVM中的表现

反射与类加载机制
java中的类什么时候时候会进行加载?
1)java用new关键字去创建对象,发现对象对应的类未加载的时候需要加载;
2)用java的反射包对类发射调用的时候,类没有加载回去先加载对应的类;
3)还有当初始化一个类的时候,如果发现其父类没有被初始化就会先初始化它的父类。
4)程序运行的main入口对应的类也会被直接加载。
用反射加载类有哪些不同方法,区别是什么?
使用.class来创建Class对象的引用时,不会自动初始化该Class对象。
使用forName()会自动初始化并返回该Class对象。
使用classLoader就只将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance时才会去执行static块。
反射与代理机制的实现
动态代理机制是基于反射实现的,反射可以动态获取类的各个成分(成员变量,方法等),通过对这些成分的继承,接口实现可以实现具体的功能的扩展。
1209

被折叠的 条评论
为什么被折叠?



