在此之前,需要明白Java反射的定义。通俗来讲,Java反射指的是:在运行状态时,对于任意一个类,都能知道其属性和方法;对任意一个对象,都能调用其属性和方法。
Java反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类;
在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法;
在运行时调用任意一个对象的方法;生成动态代理。
这几天用的Struts和Hibernate都是基于Java反射实现的。
反射的主要目的是为了降低类之间的耦合。
下面具体介绍方法:
1.获取类
//通过类名获取
Class c1=Class.forName("Main");
//通过.class 获取
Class c2=Main.class;
//通过getCLass获取
Main m=new Main();
Class c3=m.getClass();
2.创建类的对象
Object o=c1.newInstance();
3.获取属性和方法
这个,太多了,自己看API吧
事实上,在一些Java框架中,运用的最多的还是反射+配置文件
这样,我们仅仅需要修改配置文件就可以改变类之间的依赖关系,进一步降低了耦合。