【Java/Reflection】使用Java反射技术调用对象指定函数的方法

反射提供了从设定文本到执行代码间的顺畅通道,某些场合使用能事半功倍。

下文提供了使用Java反射技术调用对象指定函数的方法,仅供参考。

【代码】

复制代码
package com.hy.lab;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

public class ReflectTest {
    public int sum(String prompt,int[] args){
        int result=0;

        for(int item:args){
            result+=item;
        }

        System.out.println(String.format("%s=%d",prompt,result));
        return result;
    }

    public static void main(String[] args) throws Exception{
        // 由类全路径得到类
        Class clz = Class.forName("com.hy.lab.ReflectTest");
        // 得到无参构造函数
        Constructor constructor=clz.getConstructor();
        // 由构造函数生成实例
        Object instance=constructor.newInstance();
        // 反射得到方法
        Method method = clz.getMethod("sum", new Class[]{String.class,int[].class});
        int[] params=new int[]{1,2,3,4,5};

        // 调用实例的方法
        Object result = method.invoke(instance, new Object[]{"Sumary",params});
    }
}
复制代码

【输出】

Sumary=15

END

posted @   逆火狂飙  阅读(322)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2020-03-16 在某文件夹查找以日期命名的目录,如果早已目标时间则删除之
2020-03-16 (Python)正则表达式进行匹配
2020-03-16 [Python]打印指定目录下所有子目录
2020-03-16 [Python]在当前目录下创建三个目录
2019-03-16 【Canvas与艺术】蓝色雷达之眼
2019-03-16 【Canvas与艺术】暗蓝网格汽车速度仪表盘
2016-03-16 【Canvas与图标】六色彩虹圆角六边形图标
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示