欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2021-02-28 14:50:47|栏目: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数据结构之汉诺塔代码实例

栏    目:JAVA代码

下一篇:java使用CKEditor实现图片上传功能

本文标题:利用java反射机制调用类的私有方法(推荐)

本文地址:http://www.codeinn.net/misctech/71529.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有