package org.entity; import java.lang.reflect.Method; /** * 本案例演示如何通过反射将字符串转换为类 * */ public class Test2_2 { 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; //参数是String Method method = clzz.getMethod("sayHello",String.class); method.invoke(classObj, "Hello wold"); //参数是其余基本数据类型 /*Method method = clzz.getMethod("sayHello",int.class); method.invoke(classObj, 52);*/ //注入double类型Method method = clzz.getMethod("sayHello",double.class); /*Method method = clzz.getMethod("sayHello3",String[].class); String[] ss=new String[]{"1","2","3"}; method.invoke(classObj, new Object[]{ss});*/ } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }