Java反射获取SuperClass中的字段

2023-11-12

包:

org.springframework.util.ReflectionUtils

ReflectionUtils.findField(clazz, fieldName)

public class ReflectionTest {
    public static void main(String[] args) {
        B b = new B("XiaoMing", 11);
        Field field = ReflectionUtils.findField(b.getClass(), "name");
        System.out.println(field.getName());

    }
}

class A {
    private String name;

    public A(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

class B extends A{
    private Integer age;

    public B(String name, Integer age) {
        super(name);
        this.age = age;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

输出:name

 

 

可以参考:

https://stackoverflow.com/questions/10580866/how-to-get-java-reflect-to-spot-fields-in-the-super-class-not-just-the-actual-c

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java反射获取SuperClass中的字段 的相关文章

  • day17-基础加强(类加载器和反射)

    1 类加载器 1 1类加载器 理解 作用 负责将 class文件 存储的物理文件 加载在到内存中 1 2类加载的过程 理解 类加载时机 创建类的实例 对象 调用类的类方法 访问类或者接口的类变量 或者为该类变量赋值 使用反射方式来强制创建某
  • assert注意事项

    结论 直接使用 assert field null 可以快速的check属性 但是该方法会在使用反射的时候多一个属性 assertionsDisabled 分析 public class Assert static final boolea
  • Java高级开发必知必会——反射

    title Java高级开发必知必会 反射 author rocklei123 tags Java 反射 categories Java date 2018 09 16 08 20 57 1 目标与意义 反射是Java开发中一个非常重要的概
  • 自定义注解注入属性值(基于反射和静态变量)

    如何通过Spring配置类处理注解 定义注解 定义一个Spring配置类 在配置类中使用Java反射注入静态属性 定义注解 定义一个注解 Name Name注解可以接收一个String类型的属性 并且可以使用在类或者属性上 Target E
  • 信号完整性分析基础知识之传输线和反射(二):阻性负载的反射,源端阻抗,弹跳图

    传输线的端接需要考虑三种重要的特殊情况 每种情况中 传输线的特性阻抗均为50Ohm 信号将从源端在这条传输线上传播 并以特定的阻抗端接到达远端 TIP 在时域中 信号对瞬时阻抗十分敏感 第二区域并不一定是一条传输线 它也可能是一个分立设备
  • Java基础知识查阅表(四)[线程、网络编程、注解、java8新特性]

    文章目录 Java中的线程 线程的分类 线程调度规则 获取线程的优先级 其他几个方法 线程的通信 守护线程 线程的生命周期 线程安全问题 线程安全的类 ReentrantLock加锁 关于锁的面试题 定时器Timer Java网络编程 两个
  • 策略+工厂+反射记录一次switch代码简化过程

    遇到的问题 一张记录表 记录了10个业务的字段 一个入参type说明了要修改哪个字段 最初是通过switch type case 来做的 但是涉及这样子的判断多了 每次都要不断的switch 并且case里面不同方法有不同的处理 一个公共的
  • 通过反射获取一个对象的属性值三种方法比较

    这里写目录标题 为何要写这篇博客 数据准备 方法实践 总结 为何要写这篇博客 反射机制的用途非常多 比如获取方法 属性名和属性值等 甚至可以获取标签等标签属性 今天来比较几种获取实例化对象的属性值方法 数据准备 Builder FieldD
  • 线程池+枚举+反射调用不同接口获得统一返回数值

    首先接口函数的定义 使用策略模式 不同的接口实现类统一实现一个被实现的接口类 public interface ThreadServiceBase 用来被继承使用 然后不同的接口实现类都实现这个接口 每个实现类有自己的定义业务接口 例如 接
  • Android 11 绕过反射限制

    1 问题出现的背景 腾讯视频在集成我们 replay sdk 的时候发现这么个错误 导致整个 db mock 功能完全失效 Accessing hidden field Landroid database sqlite SQLiteCurs
  • 动态封装对象,属性来自json

    需求 如何动态的获取一个对象的字段 假如一个对象里面有name age sex三个字段 我想取name的值 这个name是存在一个json中 json的格式如下 key name key age key sex 先遍历这个json 然后再根
  • C#反射:GetManifestResourceStream

    public virtual Stream GetManifestResourceStream string name 参数 name 类型 System String 所请求的清单资源的名称 区分大小写 name格式 项目名称 文件名 通
  • 反射与注解(详细)

    文章目录 一 注解Annotation 1 什么是注解 2 内置注解 3 元注解 4 自定义注解 二 反射机制 1 静态vs动态语言 动态语言 静态语言 2 java反射机制概述 3 java反射机制研究及应用 反射机制提供的功能 优点 缺
  • java基础-inputStream两次读取的方法

    场景描述 我们需要对同一个InputStream对象使用多次 比如 客户端从服务器获取数据 利用HttpURLConnection的getInputStream 方法获得Stream对象 需要将InputStream流读取获取相关参数 第一
  • java详解动态代理中的代理对象

    相信大家都使用过动态代理 就算没有写过 应该也用过Spring来做过Bean的组织管理 如果使用过Spring 那大多数情况应该已经不知不觉地用到动态代理了 动态代理中所说的 动态 是针对使用Java代码实际编写了代理类的 静态 代理而言的
  • ProtoBuf-反射原理与使用

    文章目录 前言 相关应用场景 一 ProtoBuf 反射原理概述 1 获取message和service的属性和方法 1 1 使用protoc将proto文件生成 h和 cc文件 1 2 只使用proto文件 不使用protoc进行编译 1
  • java 反射泛型工具类, 获取类的泛型类型

    直接上代码 public class ParameterizedTypeUtils 根据索引获取泛型实例类 param type 类型 param index return java lang Class
  • Java通过反射获取注解以及注解中的信息

    首先自定义两个注解 1 用于描述表名 只能用在类 接口 枚举上 Target ElementType TYPE Retention RetentionPolicy RUNTIME public interface TableName Str
  • Go Web编程实战(6)----反射

    目录 反射 反射的3大原则 接口类型变量 转换为 反射类型对象 反射类型对象 转换为 接口类型变量 反射类型对象 修改 值必 可写的 反射 与其他语言一样 Go语言的反射同样是指 计算机程序在运行时 可以访问 检测和修改它本身状态或行为的一
  • Java反序列化漏洞-CC1利用链分析

    文章目录 一 前置知识 1 反射 2 Commons Collections是什么 3 环境准备 二 分析利用链 1 Transform

随机推荐

  • SAS EM(六)时间序列理论

    SAS EM 六 时间序列理论 大家以前会听说过AR模型 MA模型 ARMA模型 ARIMA模型 这些到底是什么呢 今天来简易讲解一下 顺便用sas实操一下 由于本文是基于自己学习的归纳总结 若有讲得不对的地方 也希望读者指出 会及时修改
  • java根据模板生成world文件

    首先找一个world文件模板修改一下 类似如下图修改 修改完之后保存文件先保存xml文件之后修改ftl后缀名 保存成xml之后 有的时候改的有问题 需要使用文本查看器修改 手动的修改完整为 gongchenmingchen 这样的 所以需要
  • 虚拟机教程(一) 启用win10自带虚拟机

    由于本人电脑是win10 故尝试以下win10 自带的Hyper V虚拟机 特写教程如下 刚刚都写好了 不知道什么原因保存失败 刷新后整个都没了 草稿箱都找不到 重新写 一切从简 第一步 打开控制面板 gt 程序和功能 gt 启用windo
  • 浅谈Node中的模块化

    关于这篇文章早在去年年初的时候我就想写一片关于模块化的文章 但是推到现在才来完成也有很多好处 巩固之前对Node的理解 毕竟在我目前的项目中还没有一款项目是用到了Node开发 所以导致我对Node的一些基本知识已经忘记 一 什么是模块化 现
  • mac安装Golang开发环境及快速入门

    目录 一 Mac brew 安装go环境 1 1 安装步骤 1 2 设置GOPATH 及环境变量 1 3 编写第一个go程序 二 快速入门 2 1 快速入门需求 2 2 go学习 自用 2 2 1 go基础程序 2 2 2 变量声明 2 2
  • java递归和非递归实现快排

    Java递归和非递归实现快排 文章目录 Java递归和非递归实现快排 前言 一 快速排序基本逻辑 二 过程演示 三 实现代码 总结 前言 最近复习数据结构 顺便复习快速排序的过程 一 快速排序基本逻辑 快排以某个关键字为基准 将待排序序列分
  • Jenkins 构建打包

    Jenkins构建打包方便了开发人员冗余的打包操作 具体怎么使用呢 这里我们来了解一下 jenkins操作面板 这里有两个情况 1 如果打包配置里已经指定了打包分支 这里会显示 立即构建 2 如果配置了多个打包分支 这里会显示 Build
  • Qt relaease添加调试

    Qt relaease添加调试 设置Qt安装路径下mkspecs common msvc desktop conf里的内容 QMAKE CFLAGS RELEASE WITH DEBUGINFO QMAKE CFLAGS OPTIMIZE
  • AndroidManifest中activity属性参数设置大全

    activity属性设置大全 android alwaysRetainTaskState true false android clearTaskOnLaunch true false android configChanges mcc m
  • 多节锂电串联保护板ic_如何有效保护锂电池板,一款优质的MOS管就能解决

    锂电池几乎应用于我们日常接触到的各类电器之中 但如何保护锂电池 你又是否知道呢 其实在锂电池保护板 最主要的元器件是IC与MOS MOS对锂电池板的保护作用非常大 它可以检测过充电 检测过放电 检测充电时过电电流 检测放电时过电电流 检测短
  • 在vue项目中使用SockJS实现websocket通信

    1 引入SockJS 和Stomp npm install sockjs client npm install stompjs import SockJS from sockjs client import Stomp from stomp
  • python里面读取h5文件报错OSError: Can‘t read data (address of object past end of allocation)

    报错如下 File h5py objects pyx line 54 in h5py objects with phil wrapper File h5py objects pyx line 55 in h5py objects with
  • C#通过WEBREQUEST调用WEBSERVICE

    1 首先通过WSDL说明创建SOAP消息 XML 2 创建WEBREQUEST 将XML加入WEBREQUEST的RequestStream 3 通过WEBREQUEST的Write函数发起请求 4 通过WEBREQUEST的GetResp
  • C语言中的小数

    一个数字 是有默认类型的 对于整数 默认是 int 类型 对于小数 默认是 double 类型 小数分为两种类型 float 4字节 double 8字节 表现形式 十进制形式 4 023 75 0 0 27 指数形式 7 25 102 0
  • Python爬取个性签名

    coding utf 8 import tkinter from tkinter import from tkinter import messagebox import requests import re from PIL import
  • spyder的cell如何使用(未写)

    目前不知道如何使用 看不出不同的cell分界线在哪
  • 常用知识点总结-自用

    文章目录 1 nohup 2 tmux 3 计算程序运行时间 4 计算模型大小 1 nohup nohup python u 文件名 gt log log 2 tmux 启动会话 tmux new s name 从会话跳出 ctrl b d
  • Mysql安装

    压缩包安装参考 https baijiahao baidu com s id 1632332658294840653 wfr spider for pc 配置环境变量 把mysql的bin目录配置到path变量 新增my ini文件初始化配
  • 如何安装openmpi

    安装openmpi 官网下载tar gz文件 解压缩 tar zxvf cd 到文件目录下 configure prefix usr local openmpi 安装目录 make j4 sudo make install 4核编译 添加环
  • Java反射获取SuperClass中的字段

    包 org springframework util ReflectionUtils ReflectionUtils findField clazz fieldName public class ReflectionTest public