参考网址:http://www.cnblogs.com/forlina/archive/2011/06/21/2085849.html
JAVA中反射是什么:
java通常是先有类再有对象,有对象我就可以调用方法或者属性。反射其实是通过Class对象来调用类里面的方法,通过反射可以调用私有方法和私有属性。 反射的核心:java.lang.Class,以及java.lang.reflect中的Method、Field、Constructor(类中的方法,成员变量,构造方法) 反射应用:大部分框架都是运用反射原理,eclipse对你引用的包中的类能提示关键字和函数;hibernate可以映射字段到数据库;一些xml/json序列化库可以创建和自动保存恢复数据;spring可以动态创建类;需要在类外部调用私有函数;判断一个Object类型具体是什么类型,是否拥有某个接口……这些都得用反射。 java使用反射经常看到的代码//获取类上下文环境User user=new User(); Class c = user.getClass(); Class c = Class.forName("包名+类名");//jdbc //获取方法和成员变量数组 Field[] fa = c.getDeclaredFields(); Method[] md = c.getDeclaredMethod(); //获取某个特定的方法//通过:方法名+形参列表 Method m = c.getDeclaredMethod("login",String.class,String.class); //通过反射机制执行login方法. Object o = c.newInstance();对象o相当于类new()方法生成的对象,可以调用类的属性和方法 想做例子请参看上面网址
时间: 2024-12-29 17:16:43