Java 通过反射机制动态调用java类方法

本文介绍了一个使用Java反射机制动态调用类方法的例子。通过动态获取方法并传递参数,实现了不同方法的灵活调用,展示了反射机制的强大功能。

转载:http://hi.baidu.com/pj1990zp/item/6eb860173dcd65486826bb0a?qq-pf-to=pcqq.c2c

Java 通过反射机制动态调用java类方法

public class ManyMethod {
 
    public void method_1(){
        System.out.println("这是方法:method_1");
    }
     
    public void method_2(){
        System.out.println("这是方法:method_2");
    }
     
    public void method_3(){
        System.out.println("这是方法:method_3");
    }
     
    public void method_4(){
        System.out.println("这是方法:method_4");
    }
     
    public void method_5(String num){
        System.out.println("接收到的参数:" + num);
    }
}

import java.lang.reflect.Method;
 
public class DynamicCall {
 
    public static void main(String[] args) throws Exception {
        ManyMethod manyM = new ManyMethod();
        Class<? extends ManyMethod> clazz = manyM.getClass();
         
        String methodName = "method_";
        for(int i = 1; i < 6; i++){
            methodName = methodName + String.valueOf(i);
             
            if(i != 5){
                Method method = clazz.getDeclaredMethod(methodName);
                method.invoke(manyM);
            }else{
                Method method = clazz.getDeclaredMethod(methodName, String.class);
                method.invoke(manyM, "测试");
            }
             
             
             
            methodName = "method_";
        }
    }
}

输出:

这是方法:method_1
这是方法:method_2
这是方法:method_3
这是方法:method_4
接收到的参数:测试




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值