java开发中如何利用反射获取私有化的方法
来源:互联网 发布:淘宝怎么买高仿鞋 编辑:程序博客网 时间:2024/05/18 15:04
先创建一个对象User
package com._520it_01_reflection3;
//一个类
class User {
//User对象的方法
private void getAge(){
System.out.println(age);
}
}
public class Reflecton {
public static void main(String[] args) {
User u = new User();
//获取User的字节码对象
Class<?> cls = u.getClass();
//通过字节码对象,获取构造器
Constract con = cls.getDeclaredConstract();
//在通过构造器创建User的对象.
Object obj = con.newInstance();
//通过字节码对象,获取想调用的私有方法
Mehtod m = con.getDeclaredMethod("getAge",int.class);
//通过对象调用方法.因为这里我们调用的是私有化的方法所以需要进行暴力反射
m.setAccessible(true);
//这样就可以调用此方法啦
m.invoke(obj,20);//第一个参数是调用此方法的对象(也就是我们刚刚创建的对象,第二个参数 是我们传入到方法中的参数.)
}
package com._520it_01_reflection3;
//一个类
class User {
//User对象的方法
private void getAge(){
System.out.println(age);
}
}
public class Reflecton {
public static void main(String[] args) {
User u = new User();
//获取User的字节码对象
Class<?> cls = u.getClass();
//通过字节码对象,获取构造器
Constract con = cls.getDeclaredConstract();
//在通过构造器创建User的对象.
Object obj = con.newInstance();
//通过字节码对象,获取想调用的私有方法
Mehtod m = con.getDeclaredMethod("getAge",int.class);
//通过对象调用方法.因为这里我们调用的是私有化的方法所以需要进行暴力反射
m.setAccessible(true);
//这样就可以调用此方法啦
m.invoke(obj,20);//第一个参数是调用此方法的对象(也就是我们刚刚创建的对象,第二个参数 是我们传入到方法中的参数.)
}
}
希望对大家有帮助!
1 0
- java开发中如何利用反射获取私有化的方法
- java开发中利用反射获取对象静态的方法
- Java 利用反射获取方法
- java中构造方法私有化
- Java利用反射机制访问私有化构造器
- java代码中私有化构造方法
- Java中构造方法私有化-->单态
- java如何利用反射机制调用类的私有方法
- 如何利用反射获取字段的数据
- Java 构造方法私有化的作用
- java中利用反射调用另一类的private方法
- java构造方法私有化
- java构造方法私有化
- JAVA构造方法私有化
- 【Android开发经验】利用反射机制,获取类的字段、方法、并实现简单调用
- asp.net中如何利用反射获取动态变量名称
- 利用Class反射获取方法
- Java利用反射来获取一个方法的 范型化参数 Vector<Integer>的类型
- iOS之block重认识
- mybatis枚举自动转换(通用转换处理器实现)
- Android——关于android应用如何更新版本?
- tcpdump抓包并保存成cap文件
- [5.18] 刘燕学姐的分享会
- java开发中如何利用反射获取私有化的方法
- sqlite3中的数据类型
- Java线程的创建方式
- C++ string 字符串 结尾 标志 \0
- Verilog FSM
- hdu 1541 Stars
- Linux常用命令
- (go邮件列表问题记录2)
- mysql下的加密解密函数