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的反射机制来实现。