您的位置:首页 > 编程语言 > Java开发

Java反射机制

2016-07-21 22:34 489 查看

Java反射的功能

  1)可以判断运行时对象所属的类

  2)可以判断运行时对象所具有的成员变量和方法

  3)通过反射甚至可以调用到private的方法

  4)生成动态代理
反射机制中的类:
Java.lang.Class;                
java.lang.reflect.Constructor; 
java.lang.reflect.Field;        
java.lang.reflect.Method;
java.lang.reflect.Modifier;
 

编写Java反射程序的步骤:

  1)必须首先获取一个类的Class对象

  例如:

  Class c1 = Test.class;

  Class c2 = Class.forName(“com.reflection.Test”);

  Class c3 = new Test().getClass();

        2)然后分别调用Class对象中的方法来获取一个类的属性/方法/构造方法的结构

    获得构造函数的方法

    Constructor getConstructor(Class[] params)//根据指定参数获得public构造器

    Constructor[] getConstructors()//获得public的所有构造器

    Constructor getDeclaredConstructor(Class[] params)//根据指定参数获得public和非public的构造器

    Constructor[] getDeclaredConstructors()//获得public的所有构造器

    获得类方法的方法

    Method getMethod(String name, Class[] params),根据方法名,参数类型获得方法

    Method[] getMethods()//获得所有的public方法

    Method getDeclaredMethod(String name, Class[] params)//根据方法名和参数类型,获得public和非public的方法

    Method[] getDeclaredMethods()//获得所以的public和非public方法

    获得类中属性的方法

    Field getField(String name)//根据变量名得到相应的public变量

    Field[] getFields()//获得类中所以public的方法

    Field getDeclaredField(String name)//根据方法名获得public和非public变量

    Field[] getDeclaredFields()//获得类中所有的public和非public方法

用反射机制实现对数据库数据的增、查例子

    基本原理;保存数据时,把需要保存的对象的属性值全部取出来再拼凑sql语句

                 查询时,将查询到的数据全部包装成一个java对象。

    先定规则

              1)数据库的每一个表对应一个pojo类,表中的每一个字段对应pojo类的中的一个属性。

                 并且pojo类的名字和表的名字相同,属性名和字段名相同  

              2)为pojo类中的每一个属性添加标准的set和get方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: