1、反射的介绍
JAVA反射机制是在运行状态中,对任意一个类,都能够知道这个类的所有属性和方法;对任意一个对象,都能够调用他的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能被称为java语言的反射机制。
2、为什么使用反射
JAVA中编译类有两种:
静态编译:在编译时确定类型,绑定对象。
动态编译:运行时确定类型,绑定对象。动态编译最大限度的发挥了java的灵活性,体现了多态的应用,可以减低类之间的耦合性。
Java反射是Java被视为动态语言的一个关键性质。反射允许静态语言在运行时检测、修改程序的结构与行为。在静态语言中,使用一个变量时,必须知道他的类型。在Java中,变量的类型信息在编译时都保存在了class文件中,这样在运行时才能保证准确无误;换句话说,程序在运行时的行为都是固定的。如果想要在运行时改变,就需要用到反射机制了。
实现Java反射机制的类都位于java.lang.reflect包中:
1、class类:代表一个类
2、Field类:代表类的成员变量(累的属性)
3、Method类:代表类的方法
4、constructor类:代表类的构造方法
5、Array类:提供了动态创建数组,以及访问数组的元素的静态方法
3、反射的实现方式
需要获取Class对象,有四种方法:
1、Class.forName(“类的路径”);
2、类名.class
3、对象名.getClass()
4、基本类型的包装类,可以调用包装类的Type属性来获得该包装类的Class对象
获取到类对象后就可以使用对象获取调用相应类中的方法以及属性。

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



