1、forName 方法
forName是一个静态方法,其作用:通过调用来获取类名对应的Class对象,同时将Class对象加载进来。
如果将类名保存在字符串(如xml)中,就可以在程序运行时,动态调用加载。
注意:只有调用的参数是类名或者方法时,才可用。
2、newInstance()方法
作用:将对象实例化。返回类型为Object。与new的区别在于,new可以带参,而newInstance()不可以,一边初始化无参类。通常与forName()配合使用。
String str = "java.util.Date";
Class cl1= Class.forName(str);//加载java.util.Date类
Object obj = cl1.newInstance();//实例化cl1
3、getMethod()方法
getMethod方法与getField方法类似,getField方法根据表示域名的字符串,返回一个Field对象。而getMethod方法则根据方法名称和相关参数,来定位需要查找的Method对象并返回。
getMethod与getDeclareMethods方法的区别在于,后者返回一个Method对象数组,需要自己在结果中查找所需Method对象。
原型: Method getMethod(String name,Class...parameterTypes)
参数解释:name: method的名称
parameterTypes:method的参数类型的列表