java 反射机制及其应用

来源:互联网 发布:canal mysql 编辑:程序博客网 时间:2024/05/29 02:40

java反射机制属于java的高级功能,两年前就学习过了,当时感觉非常明白,但是现在好多东西都想不起来,因此再从头学习一遍,并做一些简单的记录。



最常见的方法:

Class.forName(className).newInstance()  

对于带有构造函数和参数的对象,使用下面的方法来创建对象

    Class cls = Class.forName(className);      Class[] paramTypes = { String.class };      Object[] params = { "param" };      Constructor con = cls.getConstructor(paramTypes);      Bean bean = (Bean) con.newInstance(params);  

使用反射机制调用对象的方法

    Class cls = Class.forName(classname) ;      Bean base = (Bean) cls.newInstance(); //获得该类的一个实例      Class[] paraTypes = new Class[]{ String.class };      Method method = cls.getMethod(fieldSetter, paraTypes);      String[] paravalues = new String[]{paraValue} ;      method.invoke(base, paravalues);  


反射机制的常见利用:

在设计模式中,动态代理就需要使用java的反射机制来实现。

0 0