• 调用反射类的指定方法


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

  • 相关阅读:
    <cf>Square
    运算符重载
    HDU 1231 最大连续子序列
    Biorhythms(poj1006)
    友元和友元函数
    <poj 1046>Color Me Less
    <cf> Funky Numbers
    VC++中窗口的最大化问题
    励志文章,没事看一下(网上摘录)
    VC多线程编程(转)
  • 原文地址:https://www.cnblogs.com/a1111/p/12816439.html
Copyright © 2020-2023  润新知