JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
反射机制就是java语言在运行时拥有一项自观的能力。
通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。
Java的反射机制的实现要借助于4个类:class,Constructor,Field,Method;
其中class代表的是类对象,
Constructor-类的构造器对象,
Field-类的属性对象,
Method-类的方法对象。
Java反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类;
在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法;
在运行时调用任意一个对象的方法;
生成动态代理。
代码:
public static void main(String[] args) {
try {
Class c = Class.forName("java.lang.String");
Method[] m = c.getDeclaredMethods();
Field f[] = c.getDeclaredFields();
Constructor con[] = c.getDeclaredConstructors();
for(int i=0;i<con.length;i++){
System.out.println(con[i].toString());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
http://lavasoft.blog.51cto.com/62575/43218/