博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用反射访问private修饰的方法
阅读量:2347 次
发布时间:2019-05-10

本文共 795 字,大约阅读时间需要 2 分钟。

我们知道一个类中被private修饰的方法具有封装特性,即为我们从外部是无法访问它的,先建一个基本的bean:

package org.chenjianwen.reflect;public class ReflectBean {    private String bye(String tag){        return tag;    }}

先从外部创建对象去访问这个方法:

如上所示,在外部利用对象是无法访问这个类的private修饰的方法的。

但是,我们利用反射是可以访问这个方法的,如下:

package org.chenjianwen.reflect;import java.lang.reflect.Method;public class ReflectTest {    public static void main(String[] args) throws Exception {        Class clazz = Class.forName("org.chenjianwen.reflect.ReflectBean");        ReflectBean rb = (ReflectBean) clazz.newInstance();        System.out.println("类名是:" + clazz.getName());        Method method = clazz.getDeclaredMethod("bye",String.class);        method.setAccessible(true);        Object str = (String) method.invoke(rb,"goodbye");        System.out.println(str);    }}

 结果如下:

 

转载地址:http://bgtvb.baihongyu.com/

你可能感兴趣的文章
Java 编程中异常处理的最佳实践
查看>>
Java异常处理机制
查看>>
Java:回调机制
查看>>
axis2创建web service
查看>>
Axis,axis2,Xfire以及cxf对比
查看>>
近几年,产品经理这个岗位越来越火(2012-2013)
查看>>
推荐ReactNative脚手架工具
查看>>
Android BottomNavigation Demo
查看>>
Android编译工具Freeline的使用
查看>>
Hadoop 2.7集群环境搭建
查看>>
npm 更改默认全局路径以及国内镜像
查看>>
基于Win32Api创建窗口程序
查看>>
Java并发编程举例Runnable, Callable, Future, FutureTask, CompletionService
查看>>
ubuntu使用KVM创建虚拟机
查看>>
nginx的模块开发
查看>>
SpringBoot集成Swagger2
查看>>
Angular4.0.0正式发布,附新特性及升级指南
查看>>
ARM硬件调试设备比较
查看>>
最简单的React和Redux整合的例子
查看>>
智能问答在金融领域中的实践与应用
查看>>