利用java反射机制调用类的私有方法(推荐)

 更新时间:2016年08月15日 11:12:28   投稿:jingxian  
下面小编就为大家带来一篇利用java反射机制调用类的私有方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

试想一下,如果你可以轻易地调用一个类的私有方法,那么是不是说你的封装都失效了?最近在看java的反射机制,发现居然可以利用java的反射机制去调用其他类的私有方法,至于这能干什么,那就见人见智了。。

我写的一段简易实例代码如下:

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * @author thomaslwq 
 * @version 创建时间:Sep 4, 2012 9:53:49 PM
 * 类说明
 */
public class ReflectionTest {
  
  public static void setObjectColor(Object obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAcces***ception, InvocationTargetException{
    Class cls = obj.getClass();
    //获得类的私有方法
    Method method = cls.getDeclaredMethod("privateMethod", null);
    method.setAccessible(true); //没有设置就会报错
    //调用该方法
    method.invoke(obj, null);
  }
  public static void main(String args[]) throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAcces***ception, InvocationTargetException{
    
    setObjectColor(new MyTest());
  }
}
 //测试类 
class MyTest{
  
  
  public void setMyTest(){
    System.out.println("setMyTest");
  }
  /**
   类的私有方法
   **/
  private void privateMethod(){
    System.out.println("调用了 private Method");
  }
  
}

以上这篇利用java反射机制调用类的私有方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CORS跨域问题常用解决方法代码实例

    CORS跨域问题常用解决方法代码实例

    这篇文章主要介绍了CORS跨域问题常用解决方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Springboot自定义mvc组件如何实现

    Springboot自定义mvc组件如何实现

    这篇文章主要介绍了Springboot自定义mvc组件如何实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Java实现md5和base64加密解密的示例代码

    Java实现md5和base64加密解密的示例代码

    这篇文章主要介绍了Java实现md5和base64加密解密的示例代码,帮助大家更好的利用Java加密解密文件,感兴趣的朋友可以了解下
    2020-09-09
  • 学习Java之如何对时间进行格式化

    学习Java之如何对时间进行格式化

    当我们在默认情况下构造出来的时间对象,它的时间格式并不适合我们阅读,并且在开发时,pc端、Android端、iOS端等展示的时间格式可能也并不完全一样,本文就从这几个问题给大家介绍如何对时间进行格式化,感兴趣的同学可以借鉴一下
    2023-05-05
  • 使用dom4j解析xml文件问题

    使用dom4j解析xml文件问题

    这篇文章主要介绍了使用dom4j解析xml文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 使用MAT进行JVM内存分析实例

    使用MAT进行JVM内存分析实例

    这篇文章主要介绍了使用MAT进行JVM内存分析实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • SpringBoot登录拦截配置详解(实测可用)

    SpringBoot登录拦截配置详解(实测可用)

    这篇文章主要介绍了SpringBoot登录拦截配置详解(实测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • IDEA引入本地jar包的几种方法

    IDEA引入本地jar包的几种方法

    本文主要介绍了IDEA引入本地jar包的几种方法,文中通过图文结合的方式码介绍的非常详细,对大家的学习或工作有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2024-01-01
  • Java中的AQS同步队列问题详解

    Java中的AQS同步队列问题详解

    AQS 提供一套基础的机制来实现线程的同步、阻塞与唤醒、等待队列等功能,也就是想要深入学习线程工具类,这个同步队列就必须得掌握,这篇文章主要介绍了Java中的AQS同步队列问题,需要的朋友可以参考下
    2022-06-06
  • IDEA设置JVM可分配内存大小和其他参数的教程

    IDEA设置JVM可分配内存大小和其他参数的教程

    这篇文章主要介绍了IDEA设置JVM可分配内存大小和其他参数的教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论