利用Java反射机制调用类的私有方法

  • 引言
  • 来吧·展示
  • 参考链接

引言

如何调用其他类的私有方法呢?
可以利用Java的反射机制,去调用其他类的私有方法

来吧·展示

package cn.learn.stady;import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;/*** 利用java反射机制调用类的私有方法** @author Qing* @date 2021/9/9 13:45*/
public class ReflectionTest {/*** 反射调用私有方法** @param obj obj* @throws SecurityException         运行时异常  SecurityException 是 RuntimeException 的子类* @throws NoSuchMethodException* @throws IllegalArgumentException* @throws IllegalAccessException* @throws InvocationTargetException*/public static void setObjectColor(Object obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {Class<?> cls = obj.getClass();//获得类的私有方法Method method = cls.getDeclaredMethod("privateMethod", (Class<?>[]) null);//没有设置就会报错,因为权限访问异常method.setAccessible(true);//调用该方法method.invoke(obj, (Object[]) null);}public static void main(String[] args) throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {setObjectColor(new MyTest());}}/*** 测试类*/
class MyTest {public void setMyTest() {System.out.println("setMyTest");}/*** 类的私有方法**/private void privateMethod() {System.out.println("调用了 private Method");}}

参考链接

  • Java反射原理简析 --2015-10-29
  • 深入解析Java反射 - invoke方法 --2015-06-25
  • Java反射及Method的invoke方法 --2013-04-18
  • 关于反射调用方法的一个log --2009-12-14

利用Java反射机制调用类的私有方法相关推荐

  1. 利用Java反射机制调用含数组参数的方法

    http://yourmitra.wordpress.com/2008/09/26/using-java-reflection-to-invoke-a-method-with-array-parame ...

  2. java反射机制调用带参数的方法_Java反射机制:跟着代码学反射

    1. 前言 在OOP的世界里,万物皆对象.也就是说,我们可以将任何东西抽象成一个对象. 比如人,可以抽象成一个Person类,通过new Person()来实例化一个对象:再比如鸭子,可以抽象成一个D ...

  3. php引用公有类方法_php利用ReflectionClass反射机制获取类public公有方法

    今天遇到了一个有趣的问题,在thinkphp中设定控制器路由的时候,必须要使用getfunc postfunc 如图: 而我不想要 get post 这些前缀 在php中通过反射机制获取类的方法,然后 ...

  4. Java 反射机制详解:私有方法调用头大?如何通过反射调用类中的私有方法?

    文章目录 前言 一.私有方法在本类中直接调用 1.1.在本类中实例化,调用私有方法 1.2.尝试在其他类直接调用私有方法(错误示范) 二.使用反射实例化类强制调用私有方法 2.1.使用类加载器加载被调 ...

  5. 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换

    作者:54dabang 在spring的学习过程之中,我们能够看出通过配置文件来动态管理bean对象的优点(松耦合 能够让零散部分组成一个总体,而这些总体并不在意之间彼此的细节,从而达到了真正的物理上 ...

  6. 利用Java反射机制降低代码圈复杂度

    利用Java反射机制降低代码圈复杂度 在实际的工作中,我遇到了项目里老代码存在圈复杂度过高的问题,在提交代码的时候通不过CI(代码检查)的Lizard复杂度检查,所以迫切需要解决这个问题,运用Java ...

  7. 利用java反射机制修改属性值

    利用java反射机制修改属性值 本文将介绍如何利用java反射机制修改属性值,废话不多说,直接上代码 1.新建一个实体类,添加属性test以及获取属性值的方法getTest() public clas ...

  8. 利用java反射机制进行对象操作

    我们经常使用COMMONS-BEANUTILS包来进行bean的操作,例如从map到bean获从bean到map的映射,那么实现的原理是什么呢,下面举个简单的操作的例子:首先,我建立一个bean pu ...

  9. java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作

    一.如何实现不同类型对象之间的复制问题? 1.为什么会有这个问题? 近来在进行一个项目开发的时候,为了隐藏后端数据库表结构.同时也为了配合给前端一个更友好的API接口文档(swagger API文档) ...

最新文章

  1. 海军工程大学学生电子课程-DIY Final预验收
  2. 字节跳动最新开源!沈阳java培训哪个好
  3. python入门新手项目-Python入门实战项目有哪些适合新手?
  4. 【IPFS + 区块链 系列】 入门篇 - IPFS+IPNS+个人博客搭建
  5. iOS GoldRaccoon第三方FTP文件夹下载失败原因
  6. 利用HTML5中Geolocation获取地理位置在Google Map上定位
  7. DLL的Export和Import及extern
  8. 042 第一章 简介
  9. matlab差分进化算法解决TSP问题
  10. autocad字体ccfang,求CAD字体hzmsdi.shx 发到我邮箱,185955330@qq.com
  11. dns服务器一些网站无法解析,dns解析出错,导致有些网站解析出错,重启DNS服务器就正常了。 - Exchange论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  12. 域名怎样实现自动跳转
  13. 阅读心得:JDE:Towards Real-Time Multi-Object Tracking
  14. 【技术分享】Ubuntu20.04启动LGSVL-2021.03闪退解决方案
  15. 通俗理解ip地址,子网掩码,网关
  16. 常用db与倍数的关系
  17. 2020年ui设计师就业前景怎么样?2020ui设计师的缺口大吗
  18. android设备绑定微软,Android 7.1.1 手机如何登录微软账号
  19. ESP8266学习之路一——WiFi STA
  20. 安全测试与功能测试的区别是什么?

热门文章

  1. Excel中将文本逆序显示
  2. 成为管理者---对组织的贡献
  3. 怎么给pdf加水印,pdf加水印步骤
  4. 国内外经典开源数据大全!
  5. 2022年全球人工智能产业态势分析
  6. 关于IIC总线的若干问题
  7. sed 替换带有特殊字符/”的字符串
  8. 树洞外链2.1,一款基于七牛的外链分享平台
  9. 谷歌卫星地图下载器系统设置参数说明
  10. ADSL与PPPoE的区别