调用反射类的指定方法

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();
			} 
		
	}

}

posted @ 2016-12-18 20:35  穆雄雄  阅读(64)  评论(0编辑  收藏  举报