我可以使用反射在类中添加新字段吗

2024-04-25

如果我有类文字对象,我可以向类添加新字段吗?如何确定该类文字中引用或使用了特定的类?


您不能直接向其中添加新字段Class目的。您可以使用第三方 API 来生成或修改类(例如 ASM、BCEL),但最好避免使用它们,因为它们会增加很多复杂性。

至于你问题的第二部分,你可以使用Class反对实地走访并进行检查。

// NOTE : this only looks at the fields in A and not it's superclass.
//        you'll have to do a recursive lookup if you want super's fields too.
for(Field field : A.class.getDeclaredFields()) {
    if(B.class.equals(field.getType()) {
        System.out.println("A." + field.getName() + " is of type B");
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用反射在类中添加新字段吗 的相关文章

随机推荐

  • NodeJS TLS会话ID

    我正在使用 TLS 使用 node js 库创建会话 Node js 是否提供了一种方法来检索已建立的 TLS 连接的会话 ID 它是 openssl 中 SSL ctx 的一部分 不使用 connect express 或geddy 可以
  • WPF 复选框内容不正确

    我的问题是我的复选框内容不显示下划线或 象征 我读过有关RecognizeAccessKey属性 但我无法让它工作 我的列表框如下所示
  • C# 构造函数不能调用自身

    构造函数 Delay vkMessages vkMessages string System DateTime string bool string 无法调用自身 我有另一个类 该类的副本 但它可以工作 我可以添加代码 我如何解决这个问题错
  • 尝试以特殊行为渲染 Threepenny-gui 中的字段

    我想要做的是设置字段 当它们处于焦点时显示详细信息 而当它们不处于焦点时显示摘要 例如 A 当它失去焦点 变得模糊 时 我将值保存在 状态 映射中 然后将该值更改为旧值的函数 即汇总值 b 当它获得焦点时 我用我在地图中保存的旧值替换摘要值
  • Emacs 关于 python 模式函数的默认提示

    在 python 模式下 有一个名为 py execute region 的函数 它将突出显示的代码区域发送到 Python 缓冲区进行评估 评估后 光标位于 Python 缓冲区中 但我希望它保留在脚本缓冲区中 以便我可以继续生成更多代码
  • 如何仅使用 jQuery 垂直调整 DIV 大小 - 无需插件?

    Edit 我把这段代码放在jsbin中 http jsbin com eneru http jsbin com eneru 我试图让用户使用 jQuery 调整 DIV 元素的大小 仅垂直 我读到了有关 jQuery UI 的内容 我尝试了
  • 某些 exe 中的 OpenFileMapping 访问被拒绝

    我有一个程序使用写入变量 CreateFileMapping INVALID HANDLE VALUE NULL PAGE EXECUTE READWRITE 0 sizeof data Local testtest 然后我将 dll 加载
  • 将文件列表传递给 grep

    我有一个文件中的文件列表 该列表很大 并且文件名是非标准的 这意味着 有些文件名包含空格 非 ascii 字符 引号 单引号 所以 通过那个huge不能选择将文件列表作为 grep 参数 因为我不确定我不会超过linux允许的参数长度 我想
  • Debian - /usr/bin/env: 'php\r': 没有这样的文件或目录

    所以当我跑步时 直接讨论问题 yii似乎我从 Debian stretch 中收到了从 Docker 运行的错误 然而当我跑步时 usr bin env php v我得到了正确的输出 没有问题 似乎新行被翻译为字符串时出现问题 我不知道如何
  • 我应该如何存储不同时区事件的数据?

    这是一个概念性问题 因此这里没有代码片段 假设我创建了一个事件数据库 其中一些在纽约 一些在芝加哥 一些在凤凰城 等等 我的服务器的时区设置为纽约 在我看来 为所有这些事件创建 UNIX 时间戳时有两种选择 考虑时区 即 1 月 1 日午夜
  • 查找数组中值最接近的对象

    我需要通过最接近的值获取数组中的对象 让我通过一个例子来解释一下 const data age 52 age 53 age 54 age 60 some data age 66 something else age 72 age 78 ag
  • Robot.delay(int) 与 Thread.sleep(long)

    我有一个程序 其唯一目的是驱动java awt Robot无限循环 直到满足退出条件 机器人快速连续执行多个动作 这需要它们之间有标准的 UI 延迟 为此 我使用java awt Robot setAutoDelay int ms 这似乎正
  • 在冒号后连接行 (perl)

    我有这样的行 alpha beta beta alpha beta omega beta gamma alpha gamma alpha beta gamma epsilon alpha 我想将仅包含一个单词的行加入冒号与不包含冒号的行 a
  • 圆半便士? [复制]

    这个问题在这里已经有答案了 可能的重复 向上舍入最接近的 0 10 https stackoverflow com questions 2206335 round up nearest 0 10 JavaScript 中的数字四舍五入到小数
  • Robolectric 和 Powermock 之间的类加载冲突

    我正在尝试编写一个需要两者的测试机器人电动2 2 和电源模拟 因为被测试的代码依赖于一些 Android 库和第三方库以及我需要模拟的最终类 鉴于我被迫通过以下方式使用 Robolectric 测试运行程序 RunWith Robolect
  • parApply 中的错误处理(在 R 中,使用并行包)

    我正在尝试解决尝试使用时收到的以下消息parApply函数从parallel包裹 Error in unserialize node con error reading from connection 以下是我正在做的事情的模型 c0 lt
  • 使用 Java API 从 Lotus Notes NSF 文件中提取电子邮件

    我想使用 Java API Notes jar 并且正在运行安装了 Lotus Notes 8 5 的 Windows 机器 我对 Lotus Notes 一无所知 我只需要完成一项狭窄的任务 从 NSF 文件中提取电子邮件 我希望能够遍历
  • 使用 Python 将方程渲染为 .png 文件

    我想将方程渲染为 PNG 文件并将它们嵌入到我的库的 HTML 文档中 我已经在其他项目中使用 pylab matplotlib 我还没有找到任何线索http matplotlib sourceforge net users usetex
  • 不懂 C 就开始学习 C#? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否建议只了解一点点 C 只是一些基础知识 或什至不了解 C 就直接跳到 C C 和 C 非常不同 它们共享语法 但编程风格却截然不同 学习 C
  • 我可以使用反射在类中添加新字段吗

    如果我有类文字对象 我可以向类添加新字段吗 如何确定该类文字中引用或使用了特定的类 您不能直接向其中添加新字段Class目的 您可以使用第三方 API 来生成或修改类 例如 ASM BCEL 但最好避免使用它们 因为它们会增加很多复杂性 至