利用java反射访问类中的私有方法

发布时间:2024年01月17日
假设:类BxCorePopSettsHandler中有私有方法insurancePopSetts(BxCorePopSettsMq mq),如何通过java反射来实现呢?


// 1、获取Class对象,可以通过getClass 或者classForName
Class<? extends BxCorePopSettsHandler> bxClass = bxCorePopSettsHandler.getClass();

// 2、获取私有方法,特别注意下面两个参数,第一个参数name,方法的名称,第二个参数parameterTypes,是参数数组,如我的私有方法入参只有一个,BxCorePopSettsMq,那么我就按照如下方式填写入参,如果不写参数数组,可能会获取不到该私有方法。
Method insurancePopSetts = bxClass.getDeclaredMethod("insurancePopSetts", BxCorePopSettsMq.class);

// 3、设置私有方法可访问
insurancePopSetts.setAccessible(true);

// 4、调用私有方法,下面的bxCorePopSettsHandler 是我要访问的类,mq是私有方法的入参
insurancePopSetts.invoke(bxCorePopSettsHandler, mq);
文章来源:https://blog.csdn.net/qq_32473523/article/details/135645077
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。