黑马程序员技术交流社区
标题:
在什么情况下使用反射?
[打印本页]
作者:
黄坚声
时间:
2012-5-11 11:23
标题:
在什么情况下使用反射?
:)在什么情况下使用反射?学了反射,感觉好像没有用到。
作者:
于陈
时间:
2012-5-11 11:37
先说说java反射机制是什么:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
至于你说的反射有什么用,那反射作用就大了去了,后面接触到框架之后,就会明白,java的反射机制是框架的基础,比如经典的web开发框架spring,strusts,strusts2等都是建立在反射的基础上的.
作者:
小小企鹅
时间:
2012-5-11 12:07
反射API允许在运行期间获得类的信息,通过使用反射api,可以使用任意的构造器来动态的创建对象、通过一个对象获得完整的包名和类名、返回一个类实现的接口、获得其他类中的全部构造函数。。。
作者:
τ、高童鞋ゝ
时间:
2012-5-11 12:31
Java 的反射机制是使其具有动态特性的非常关键的一种机制,也是在JavaBean 中广泛应用的一种特性。
运用JavaBean 的最常见的问题是:根据指定的类名,类字段名和所对应的数据,得到该类的实例
作者:
τ、高童鞋ゝ
时间:
2012-5-11 12:32
Java 的反射机制是使其具有动态特性的非常关键的一种机制,也是在JavaBean 中广泛应用的一种特性。
运用JavaBean 的最常见的问题是:根据指定的类名,类字段名和所对应的数据,得到该类的实例
作者:
黑马张立国
时间:
2012-5-11 13:14
反射应用很多,
框架的设计,(当别人设计框架时,并不知道要用到什么类及方法,这就用到了反射获取后人的类,而后人用框架时只需要写上xxx类,就可以直接用到它功能(底层的实现是框架帮你用反射,得到了对象及方法)这样就实现了,应用者和调用者的分离,降低了他俩的依赖关系);
代理的实现proxy就是用到了反射。
作者:
张文建
时间:
2012-5-11 14:08
反射就是把java类中的各种成分映射成相应的java类
例如:一个java类中用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法,包等等信息也用一个java类来表示。就像汽车是一个类,汽车中的发动机,变速箱等等也是一个的类。
表示java类的Class类显然要提供一系列的方法,来获取得其中的变量和方法,构造方 法,修饰符,包等信息,这些信息就是用相应类的实例对象来表示,它们是Field,Method,Constructor,Package等等
得到一个类的Class对象,然后通过Class对象来解析类的结构,比如说得到这个类有什么方法,有什么属性。得到这些方法或属性后,可以调用指定对象上的这个方法,也可以给指定对象上的这个属性赋值。
T t = new T();
Class c = t.getClass(); //得到T这个类的class对象
Method m = c.getDeclaredMethod("getName"); //得到getName方法
m.invoke(t); //调用getName方法,并且将this指向t这个对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2