JavaSE 反射(进阶) 反射操纵private函数
来源:互联网 发布:南风知我意琰阙txt下载 编辑:程序博客网 时间:2024/05/23 19:44
一.getDeclareMethod 不同于getMethod 方法,后者只能操纵public函数,而前者凡是declare声明过的函数都能被操纵。
二.
public void setAccessible(boolean flag) throws SecurityException 方法解释:
该方法为Method Constructor Field类的父类AccessibleObject定义的方法。
引入JDK的原话:(Quote from JDK)
Set the accessible flag for this object to the indicated boolean value.
A value of true indicates that the reflected object should suppressJava language access checking when it is used.
设置object.setAccessible(true)意味着压制java的访问规则。
A value of false indicates that the reflected object should enforce Java language access checks.
设置object.setAccessible(false)意味着强制执行java的访问规则。
三. 下面为一个具体实例,展示如何用反射reflection机制来 操纵一个类的private函数:
package com.java.reflection;public class PrivateReflect {private String feedback(String str) //等待被操纵的private函数{return "Hello "+str;}}
package com.java.reflection;import java.lang.reflect.Method;public class PrivateTest {public static void main(String[] args) throws Exception {Class<?> classType=PrivateReflect.class;Object p=classType.newInstance();Method method=classType.getDeclaredMethod("feedback",String.class);//Set the accessible flag for this object to the indicated boolean value.//A value of true indicates that the reflected object should suppress Java language access checking when it is used. //A value of false indicates that the reflected object should enforce Java language access checks. method.setAccessible(true);String str=(String)method.invoke(p,"Ma Yun");System.out.println(str);}}输出:
Hello Ma Yun
0 0
- JavaSE 反射(进阶) 反射操纵private函数
- JavaSE 反射(进阶) 反射修改private成员
- JavaSE 反射 (进阶)
- JavaSE 反射 (进阶) Constructor类 & Field类 的使用
- javaSE-反射
- [JavaSE]反射
- javaSE(23)(反射)
- javase-反射构造函数学习记录
- java反射修改private值和调用private函数
- java反射-private方法
- JavaSE 学习参考:反射机制(1)
- JavaSE学习笔记--反射
- JavaSE基础:反射机制
- javaSE之反射
- JavaSE 反射Reflection初学
- JavaSE 反射机制
- JavaSE 反射技术
- JavaSE学习--反射
- 字符串以指定符号分割
- Android http请求类添加Cookie
- android中正确导入第三方jar包
- java中从键盘接收字符的方式
- openssl学习
- JavaSE 反射(进阶) 反射操纵private函数
- 内核中常见的符号
- UrlRewriteFilter学习
- android 进程和线程
- (13)创建文件
- 过滤器实现文件的gzip压缩
- CareerCup Find if an array is a sequence
- 伙伴算法
- C语言学习之冒泡排序