首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取其中一个超类中受保护字段的FieldDescription

,可以通过反射机制来实现。反射是指在运行时动态地获取类的信息并操作类的成员,包括字段、方法、构造函数等。

首先,需要使用Java的反射API来获取超类的Class对象。假设超类的名称为SuperClass,可以使用以下代码获取该类的Class对象:

代码语言:txt
复制
Class<?> superClass = SubClass.class.getSuperclass();

接下来,可以使用Class对象的getDeclaredFields()方法获取超类中所有的字段,包括受保护字段。然后,遍历这些字段,找到目标字段的Field对象。假设目标字段的名称为"protectedField",可以使用以下代码实现:

代码语言:txt
复制
Field targetField = null;
Field[] fields = superClass.getDeclaredFields();
for (Field field : fields) {
    if (field.getName().equals("protectedField")) {
        targetField = field;
        break;
    }
}

在上述代码中,通过调用Field对象的getName()方法获取字段的名称,并与目标字段名称进行比较。如果找到了目标字段,则将其赋值给targetField变量。

最后,可以通过Field对象的toString()方法获取字段的描述信息。例如:

代码语言:txt
复制
String fieldDescription = targetField.toString();

需要注意的是,由于字段是受保护的,可能无法直接访问该字段的值。如果需要访问字段的值,可以通过Field对象的setAccessible(true)方法来取消对字段的访问限制,然后使用get()方法获取字段的值。

以上是获取超类中受保护字段的FieldDescription的一种实现方式。在实际应用中,可以根据具体的需求和代码结构进行调整和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一、K3 WISE 开发插件《K3 WISE常用数据表整理》

一、K3 WISE 开发插件《K3 WISE常用数据表整理》 在后台数据库ICClassType表字段FID0是新单。...FTableID 步骤二:再根据FTableID,从t_fielddescription查业务单据字段名、字段中文描述 这两个表可以查询金蝶所有业务单据,用法如下: SELECT * FROM...%' --字段表 SELECT * FROM T_FieldDescription WHERE FTableID=17 --字段表 SELECT * FROM ICClassType WHERE...类似采购订单下推到到货单据,字段对应关系就在这里。比如我们可以把采购订单加自定义字段批号,关系到入库单批号,就这里改改吧!...SELECT * FROM ICClassLinkEntry --钩稽关系控制字段、关闭字段、控件字段信息表 SELECT * FROM ICClassLinkCommit --单据转换流程在

2.4K70
  • Java复习3-继承

    编译器会一一列举所有C名为f方法和其访问属性为public且名为f方法(私有方法不可访问)。 至此,编译器已获得所有可能被调用候选方法。...因此,虚拟机预先为每个创建了一个方法表(method table),其中列出了所有方法签名和实际调用方法。这样一来,在真正调用方法时候,虚拟机仅查找这个表就行了。...ClassgetFields、getMethods和getConstructors方法将分别返回提供public字段、方法和构造器组,其中包括共有成员。...ClassgetDeclareFields、getDeclareMethods和getDeclareConstructors方法将分别返回声明全部字段、方法和构造器,其中包括私有和保护成员...将公共操作和字段放在 不要使用保护字段,非必须要,不要使用protected,而推荐用private 使用继承实现is-a关系,不是这样关系不应该使用继承 除非所有继承方法都有意义,否则不要使用继承

    63420

    Java 反射

    反射 JAVA反射机制是在运行状态,对于任意一个,都能够知道这个所有属性和方法;对于任意一个对象,都能够调用它任意方法和属性;这种动态获取信息以及动态调用对象方法功能称为java语言反射机制...在了解反射机制之前我们首先了解一下Java加载过程 加载 加载是将.class文件二进制数据读入到内存,将其放在运行时数据区方法区内,然后在堆区创建一个java.lang.Class对象...public成员变量和方法时,将包含从中继承到成员变量和方法;而通过方法getDeclaredFields()和getDeclaredMethods()只能获得在本类定义所有成员变量和方法...} // 保护构造方法 protected Student(boolean n){ System.out.println("保护构造方法 n = " + n);...******************** public java.lang.String com.company.Student.name ************获取所有的字段(包括私有、保护

    81220

    为什么日志要private static final

    为什么java.util...Logger甚至不提供接受Class对象方法呢?为什么开发java.util.logging包的人将他们API建立在Log4j上,却忽略了其中一些最有用部分?...以这种方式声明日志记录器最大问题是,您现在从获得所有日志记录与子类日志记录混合在一起,并且在日志输出,除非您查看源代码,否则无法识别哪些消息来自哪个。...如果有很多您不想看到日志记录,这是非常烦人,因为您不能过滤掉它。 另一个问题是,您以不同方式设置日志级别的能力消失了,例如,如果子类驻留在与不同。...在这种情况下,如果试图从筛选出日志记录,则不能,因为实际运行时用于获取日志记录器。 最后,拥有一个保护记录器似乎违反了基本面向对象原则。...为什么子类应该从横切关注点了解内部实现细节?无论如何,虽然这是一个愚蠢小咆哮,但是当您扩展一个声明像这样保护日志记录器时,它确实很烦人。

    2.1K20

    大牛:你真的懂反射吗?

    反射是框架设计灵魂 一、反射概述 JAVA反射机制是在运行状态,对于任意一个,都能够知道这个所有属性和方法;对于任意一个对象,都能够调用它任意一个方法和属性;这种动态获取信息以及动态调用对象方法功能称为...要想解剖一个,必须先要获取到该类字节码文件对象。而解剖使用就是Class方法.所以先要获取到每一个字节码文件对应Class类型对象....(其实:一个这些成员方法、构造方法、在加入中都有一个来描述) 如图是正常加载过程:反射原理在于Class对象。...(String className)(常用) 其中1.1是因为ObjectgetClass方法、因为所有都继承Object。..."公有字段" * 2).Field[] getDeclaredFields():获取所有字段,包括:私有、保护、默认、公有; * 2.获取单个: * 1).public

    54531

    java反射详解

    一、反射概述 JAVA反射机制是在运行状态,对于任意一个,都能够知道这个所有属性和方法;对于任意一个对象,都能够调用它任意一个方法和属性;这种动态获取信息以及动态调用对象方法功能称为...要想解剖一个,必须先要获取到该类字节码文件对象。而解剖使用就是Class方法.所以先要获取到每一个字节码文件对应Class类型对象....(其实:一个这些成员方法、构造方法、在加入中都有一个来描述) 如图是正常加载过程:反射原理在与class对象。...className)(常用) 其中1.1是因为ObjectgetClass方法、因为所有都继承Object。...1).Field[] getFields():获取所有的"公有字段" * 2).Field[] getDeclaredFields():获取所有字段,包括:私有、保护、默认、公有;

    83550

    java反射详解【转】与 反射是否会破坏封装性见解

    要想解剖一个,必须先要获取到该类字节码文件对象。而解剖使用就是Class方法.所以先要获取到每一个字节码文件对应Class类型对象....以上总结就是什么是反射 反射就是把java各种成分映射成一个Java对象 例如:一个有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个进行解剖,把个个组成部分映射成一个个对象...(其实:一个这些成员方法、构造方法、在加入中都有一个来描述) 如图是正常加载过程:反射原理在与class对象。...forName(String  className)(常用) 其中1.1是因为ObjectgetClass方法、因为所有都继承Object。..."公有字段"   *      2).Field[] getDeclaredFields():获取所有字段,包括:私有、保护、默认、公有;   * 2.获取单个:   *      1).public

    69950

    告别java反射技术

    要想解剖一个,必须先要获取到该类字节码文件对象。而解剖使用就是Class方法.所以先要获取到每一个字节码文件对应Class类型对象....以上总结就是什么是反射 反射就是把java各种成分映射成一个Java对象 例如:一个有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个进行解剖,把个个组成部分映射成一个个对象...(其实:一个这些成员方法、构造方法、在加入中都有一个来描述) 如图是正常加载过程:反射原理在与class对象。...(String  className)(常用) 其中1.1是因为ObjectgetClass方法、因为所有都继承Object。...获取所有字段,包括:私有、保护、默认、公有;  * 2.获取单个:  *      1).public Field getField(String fieldName):获取某个”公有的”字段

    88610

    Java基础之反射(非常重要)

    要想解剖一个,必须先要获取到该类字节码文件对象。而解剖使用就是Class方法.所以先要获取到每一个字节码文件对应Class类型对象....以上总结就是什么是反射 反射就是把java各种成分映射成一个Java对象 例如:一个有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个进行解剖,把个个组成部分映射成一个个对象...(其实:一个这些成员方法、构造方法、在加入中都有一个来描述) 如图是正常加载过程:反射原理在与class对象。...(String className)(常用) 其中1.1是因为ObjectgetClass方法、因为所有都继承Object。...获取所有字段,包括:私有、保护、默认、公有; * 2.获取单个: * 1).public Field getField(String fieldName):获取某个"公有的"字段

    59330

    Java基础之—反射(非常重要)

    要想解剖一个,必须先要获取到该类字节码文件对象。而解剖使用就是Class方法.所以先要获取到每一个字节码文件对应Class类型对象....(其实:一个这些成员方法、构造方法、在加入中都有一个来描述) 如图是正常加载过程:反射原理在与class对象。...forName(String className)(常用) 其中1.1是因为ObjectgetClass方法、因为所有都继承Object。...():获取所有的"公有字段" * 2).Field[] getDeclaredFields():获取所有字段,包括:私有、保护、默认、公有; * 2.获取单个: * 1).public Field...){ System.out.println(f); } System.out.println("************获取所有的字段(包括私有、保护、默认)********************

    37830

    java反射详解与反射是否会破坏封装性见解

    要想解剖一个,必须先要获取到该类字节码文件对象。而解剖使用就是Class方法.所以先要获取到每一个字节码文件对应Class类型对象....以上总结就是什么是反射 反射就是把java各种成分映射成一个Java对象 例如:一个有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个进行解剖,把个个组成部分映射成一个个对象...(其实:一个这些成员方法、构造方法、在加入中都有一个来描述) 如图是正常加载过程:反射原理在与class对象。...forName(String  className)(常用) 其中1.1是因为ObjectgetClass方法、因为所有都继承Object。...获取所有字段,包括:私有、保护、默认、公有;  * 2.获取单个:  *      1).public Field getField(String fieldName):获取某个"公有的"字段

    2.3K30

    对象序列化与反序列化

    要允许不可序列化子类型序列化,可以假定该子类型负责保存和恢复类型公用 (public)、保护 (protected) 和(如果可访问)包 (package) 字段状态。...在反序列化过程,将使用该类公用或保护无参数构造方法初始化不可序列化字段。可序列化子类必须能够访问无参数构造方法。可序列化子类字段将从该流恢复。...通过调用 out.defaultWriteObject 可以调用保存 Object 字段默认机制。该方法本身不需要涉及属于其或子类状态。...defaultReadObject 方法使用流信息来分配流通过当前对象相应指定字段保存对象字段。这用于处理演化后需要添加新字段情形。该方法本身不需要涉及属于其或子类状态。...在从流读取一个实例时需要指定替代应使用准确签名来实现此特殊方法。

    1.1K150

    Java常量池解析与字符串intern简介

    (6).类型初始化 2.CONSTANT_Fieldref入口解析 由于一个类型不会含有其类型所定义字段,所以对目标字段搜索将会从字段所 指向类型开始,从该类型开始搜索,再递归搜索其所实现或扩展接口...,再递归搜索其,直至找到目标字段,并会将运行时常量池字段入口标记为已解 析,并在该常量池数据上改为对这个字段直接引用。...3.CONSTANT_Methodref入口解析 与字段搜索类似但有所不同,其搜索顺序将从该类型开始,再递归搜索其,在递归搜索其所实现或扩展接口。...实例变量组织方式为:从Object开始到该实例类型,将声明实例变量按在class文件中出现顺序依次放在对象映像。...知其初始加载器),从而调用了不受信类型方法访问信类型保护成员。

    52720

    Spring Security 动态权限实现方案!

    在本案例保护对象所需要权限保存在数据库,所以我们可以通过自定义继承自 FilterInvocationSecurityMetadataSource,并重写 getAttributes 方法来提供保护对象所需要权限...FilterInvocationSecurityMetadataSource 接口,然后重写它里边三个方法: getAttributes:该方法参数是保护对象,在基于 URL 地址权限控制,...保护对象就是 FilterInvocation;该方法返回值则是访问保护对象所需要权限。...从 menu 对象获取 roles 属性,并将其转为一个数组,然后通过 SecurityConfig.createList 方法创建一个 Collection 对象并返回...如果当前请求 URL 地址和数据库 menu 表所有项都匹配不上,那么最终返回 null。如果返回 null,那么保护对象到底能不能访问呢?

    1K10

    【说站】java继承优缺点分析

    java继承优缺点分析 1、优点 提高了代码再利用性。 提高了代码维护性。 让有关,是多态前提。 2、缺点 提高耦合性。这样一个变化会影响其他与此类相关类别。...耦合:关系。 内聚:自己完成某件事能力。 打破了封装性。 3、继承成员 继承机制引入了保护成员,提供了一个成员访问控制级别,可以理解为公共和私有。...在子类,子类可以访问自己定义所有成员,也可以访问父亲共有和保护继承成员,但不能访问超级私有继承成员。 继承者在子类访问控制与其在访问控制相同。...以及最初在是共有成员,被子类继承后被视为共有成员;最初在保护成员,被子类继承后仍然是保护成员;最初在是私有成员,被子类继承后被视为私有成员,但子类无法访问。...资料类型为子类对象无法访问子类及其父保护成员。 以上就是java继承优缺点分析,希望对大家有所帮助。

    50620

    RefactoringGuru 代码异味和重构技巧总结

    内联 问题:一个几乎什么都不做,也不负责任何事情,也没有为它规划额外责任。 解决方案:将所有功能从该类移动到另一个。 隐藏委托关系 问题:客户端从对象 A 字段或方法获取对象 B。...隐藏方法 问题:一个方法不被其他使用,或者只在它自己层次结构中使用。 解决方案:将方法设置为私有或保护。...解决方案:为它们创建一个共享,并将所有相同字段和方法移动到其中。 提取接口 问题:多个客户端使用接口同一部分。另一种情况:两个部分接口是相同。...解决方案:将这个相同部分移动到它自己接口。 折叠层次结构 问题:你有一个层次结构,其中一个子类实际上与其相同。 解决方案:合并子类和。...用委托替换继承 问题:有一个子类只使用其一部分方法(或者不可能继承数据)。 解决方案:创建一个字段并在其中放置一个对象,将方法委托给对象,并摆脱继承。

    1.8K40

    反射概念 和基本使用(一)

    1 反射 什么是反射 java反射 是指在运行状态 对于任意一个 我们都可以知到这个所有方法和属性 也可以调用其所有的方法和属性 这种动态获取方式 我们称为 反射 什么是class对象...我们通过使用反射 就是通过Class来实现 Class 实例表示正在运行 Java 应用程序和接口。...获取Class所有构造方法 基本类 public class Student { //---------------构造方法------------------- //(默认构造方法...} //保护构造方法 protected Student(boolean n){ System.out.println("保护构造方法 n = " + n);...、保护、默认、公有; * 2.获取单个: * 1).public Field getField(String fieldName):获取某个"公有的"字段; * 2).public Field

    15310

    java反射总结

    反射相关总结 获取class对象 通过对象getClass()方法 使用静态属性.class 通过class静态方法forName(String name) 一般只使用第三种方式 // 参数为你完整包路径...(包括私有、保护、默认、公有) Constructor[] conArray = clazz.getDeclaredConstructors(); 获取单个构造方法 clazz.getConstructor...(Class… parameterTypes); 获取单个”公有的”构造方法 //1>、因为是无参构造方法所以类型是一个null,不写也可以:这里需要一个参数类型,切记是类型 //2>、返回是描述这个无参构造函数对象...Constructor con = clazz.getConstructor(null); clazz.getDeclaredConstructor():获取”某个构造方法”可以是私有的,或保护、默认...) : 所有”公有的”字段 Field[] fieldArray = stuClass.getFields(); clazz.getDeclaredFields() :获取所有的构造方法(包括私有、保护

    40810
    领券