日期:2014-05-20 浏览次数:21046 次
package com.xuz.csdn.aug4;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectTest {
public static void main(String[] args) {
Class c = MyClass.class;
try {
Constructor<?> cons = c.getConstructor(String.class);
System.out.println(cons);
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
Field[] fields = c.getDeclaredFields();
for (Field field : fields) {
System.out.println(field);
}
Method[] methods = c.getDeclaredMethods();
for (Method method : methods) {
System.out.println(method);
}
}
}
------解决方案--------------------
http://www.java2000.net/p6982
------解决方案--------------------
反射就是把java类的某些信息映射成一个java类。
------解决方案--------------------
反射机制的基本用处是:通过字符串 创建对象,调用方法,设置属性值
这个是所有基于配置的框架的基础,想象那些XML中的类名或者方法是怎么被invoke的
假设你有一组类,可以写一个(仅一个)基于反射的程序,读入不同的xml文件,执行得到不同的效果,这是我理解的基于配置的程序;
而一个普通的程序 new 对象 调用方法,你可以预期其执行过程和效果,而反射的话就不知道了,配置决定
------解决方案--------------------
关注中……
------解决方案--------------------
反射机制就是 java在运行阶段 根据类名,获取到类的属性、方法信息(能获取到方法名称,但是不会获取到方法的具体实现) 与之有关的还有类加载器、代理机制。你如果接触到spring的东西,能理解的快些,spring在使用xml bean方式依赖注入时是比较典型的反射机制。
------解决方案--------------------
String a="AClass";
如果有AClass这个类或方法的话,就可以通过反射由a或者"AClass"得到这个类或方法