package org.entity;import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;/*** 本案例演示如何通过反射将字符串转换为类* */
public class Test2 {public static void main(String[] args) {String user = "org.entity.User";//字符串是该类的全限定名try {Class clzz = Class.forName(user);Object classObj=clzz.newInstance();//将class类转换为对象//--------------------反射类调用User中的sayHello()方法-----------------------------//注意导入正确的Method包名:// import java.lang.reflect.Method;//获取该类的所有方法Method[] methods = clzz.getMethods();//遍历方法for(Method m:methods){if(m.getName().equals("sayHello")){//找到sayHello这个方法try {//user类中的invoke方法第一个参数是要调用的类//第二个是要传入的参数m.invoke(classObj, "hello world");} catch (IllegalArgumentException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}}