首页 > 其他分享 >反射操作的基础代码用法

反射操作的基础代码用法

时间:2023-02-01 09:23:37浏览次数:27  
标签:反射 privateMethod java 代码 用法 targetObject targetClass Method TargetObject

`package cn.javaguide;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Main {
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchFieldException {
/**
* 获取 TargetObject 类的 Class 对象并且创建 TargetObject 类实例
/
Class<?> targetClass = Class.forName("cn.javaguide.TargetObject");
TargetObject targetObject = (TargetObject) targetClass.newInstance();
/
*
* 获取 TargetObject 类中定义的所有方法
*/
Method[] methods = targetClass.getDeclaredMethods();
for (Method method : methods) {
System.out.println(method.getName());
}

    /**
     * 获取指定方法并调用
     */
    Method publicMethod = targetClass.getDeclaredMethod("publicMethod",
            String.class);

    publicMethod.invoke(targetObject, "JavaGuide");

    /**
     * 获取指定参数并对参数进行修改
     */
    Field field = targetClass.getDeclaredField("value");
    //为了对类中的参数进行修改我们取消安全检查
    field.setAccessible(true);
    field.set(targetObject, "JavaGuide");

    /**
     * 调用 private 方法
     */
    Method privateMethod = targetClass.getDeclaredMethod("privateMethod");
    //为了调用private方法我们取消安全检查
    privateMethod.setAccessible(true);
    privateMethod.invoke(targetObject);
}

}`

标签:反射,privateMethod,java,代码,用法,targetObject,targetClass,Method,TargetObject
From: https://www.cnblogs.com/orangeJuiceRain/p/17081415.html

相关文章

  • git代码拉取时常遇错误处理
    git代码拉取时常遇错误处理1.服务器SSL证书未经过第三方认证错误git输入:fatal:unabletoaccess'https://github.com/MMF-FE/svgicon.git/':OpenSSLSSL_read:Conn......
  • PHP实现生成二维码代码展示
    本文为小伙伴们带来的是关于PHP实现生成二维码代码展示,前言为了满足用户渠道推广分析和用户账号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可......
  • dremio 23 版本反射问题最新说明
    此问题,官方已经确认是在进行反射替换的时候有问题,同时预计会在24版本解决,但是目前暂时还没有发布(官方对于社区版的支持不是很好。。。。)参考资料https://community.drem......
  • 杭州出租车行驶轨迹数据空间时间可视化分析|附代码数据
    原文链接:http://tecdat.cn/?p=7324最近我们被客户要求撰写关于出租车的研究报告,包括一些图形和统计输出。城市化带来的道路拥堵、出行耗时长等交通问题给交管部门带来了......
  • 用数据告诉你出租车资源配置是否合理|附代码数据
    原文链接:http://tecdat.cn/?p=3825最近我们被客户要求撰写关于出租车的研究报告,包括一些图形和统计输出。互联网+下不同时空如何建立合适的指标分析出租车“供求匹配”的......
  • ARMA-GARCH-COPULA模型和金融时间序列案例|附代码数据
    原文链接: http://tecdat.cn/?p=3385最近我被要求撰写关于金融时间序列的copulas的调查从读取数据中获得各种模型的描述,包括一些图形和统计输出。> oil = read.xlsx(t......
  • R语言使用ARIMAX预测失业率经济时间序列数据|附代码数据
    全文链接:http://tecdat.cn/?p=22521最近我们被客户要求撰写关于ARIMAX的研究报告,包括一些图形和统计输出。在大数据的趋势下,我们经常需要做预测性分析来帮助我们做决定。......
  • 临时代码
    <template> <view> <u-keyboardmode="number":dotDisabled="true":show="true":overlay="false":showTips="false":tooltip="false"></u-keyboard> </view></t......
  • gitHub 提交代码
    1.首先在gitHub创建账号,然后创建一个仓库 2.push代码,提交代码时,URL填gitHub上的HTTPS的url    点击ok,会出现让登陆gitHub,可以填token登陆,登陆从gitHub上的se......
  • 代码随想录(2)-链表
    题单203.移除链表元素链表节点对象publicclassListNode{//结点的值intval;//下一个结点ListNodenext;//节点的构造函数(无参)......