当前位置:首页 > 开发 > 编程语言 > Java > 正文

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

发表于: 2009-04-13   作者:crabdave   来源:转载   浏览次数:
摘要: 利用java反射机制调用类的私有方法 1.将getInstance()方法设置为private public class Singleton {     private static Singleton instance = null;    private static synchronized Singleton getInst

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

1.将getInstance()方法设置为private

public class Singleton {
    private static Singleton instance = null;
    private static synchronized Singleton getInstance() {
      System.out.println("调用 私有的单例!");
           if (instance==null)
                    instance=new Singleton();
             
                    return instance;
      }
     }

 

2.使用反射机制调用getInstance()方法

import java.lang.reflect.Method;

public class test {

    public static void main(String[] args) {

         Class cl = null;
                      try{
                             cl=Singleton.class;
                             Method m1 =cl.getDeclaredMethod("getInstance");

                              m1.setAccessible(true);// 调用private方法的关键一句话
                              m1.invoke(cl);
                        }catch(Exception e){
                              e.printStackTrace();
                        }

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
SimpleClient客户端通过HelloService代理类来调用SimpleServer 服务器端的HelloServiceImpl 对象的方
SimpleClient客户端通过HelloService代理类来调用SimpleServer 服务器端的HelloServiceImpl 对象的方
这几天一直在研究java的反射机制,正好作业需要写servlet,为了增加一点难度,就用java的反射机制来
JAVA中类文件加载是动态的。JVM指令是被封装在了. class文件里面,而.class文件的加载过程是动态的
JAVA中类文件加载是动态的。JVM指令是被封装在了. class文件里面,而.class文件的加载过程是动态的
反射是对象---->类 在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。
JAVA中类文件加载是动态的。JVM指令是被封装在了. class文件里面,而.class文件的加载过程是动态的
整体通信过程如下图: package search; import java.io.InputStream; import java.io.ObjectInputSt
转自 http://www.cnblogs.com/ITtangtang/p/3978102.html 说明:本文乃学习整理参考而来. 一、Java
1,如何通过反射获取无参方法 /**** * 我通过反射获取的 * @return */ public JTextArea getTextArea
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号