当前位置: 首页 > 知识库问答 >
问题:

在java.lang.Reflect.Method[duplicate]中,`4161`修饰符是什么意思

杭永安
2023-03-14

我正在使用java反射获取方法,这些方法使用特定注释进行注释。它返回两个方法,其中带有修饰符4161的方法属于接口。但我检查了修改器规范,在任何地方都找不到...需要帮助,tks:)

共有1个答案

穆宾白
2023-03-14

modifiers整数基本上是组成一个位字段的整数标志的组合。可以使用静态modifier.toString()方法获取文本表示形式。如果您使用此方法,它会告诉您4161代表public volatile,这将是错误的。

将其分解,由4161表示的位字段由3个整数标志组成:1644096。在modifierJavadoc中查找这些值,它会告诉您1代表public64代表volatile。令人惊讶,因为方法不能声明为volatile,那么4096呢?甚至都不在名单里!

答案可以在JVM规范中找到,在这里我们发现:

    null

结论是修饰符值为4161的方法是公共合成桥方法。本文提供了一个相当全面的概述。

 类似资料:
  • 问题内容: 当这样使用时: 和之间有什么区别? 问题答案: 静态导入声明类似于普通导入声明。正常的导入声明从包中导入类,从而允许它们在没有包限定的情况下使用,而静态导入声明从类中导入静态成员,从而允许它们在没有类限定的情况下使用。 那么什么时候应该使用静态导入?非常谨慎!仅当您打算以其他方式声明常量的本地副本或滥用继承(常量接口反模式)时,才使用它。换句话说,当您需要频繁访问一两个类的静态成员时,

  • 在将“final”添加到myItem声明之前,我首先得到了以下警告: 私有字段myItem可以是最终的;它只在声明或构造函数中初始化。 添加final后,我得到的警告是: 私人修饰符与JLS建议不一致。 有人知道我为什么会收到这个吗?我做了一些研究,但似乎找不到任何东西来解决这个问题。

  • 我发现这是->在Java中的意思,但我不适合我 ------------更新-------------------------------------

  • 问题内容: 我知道这不仅适用于Java,而且适用于许多语言,但这是我最熟悉的语言。 我了解修饰符的作用以及如何使用它们。我只想知道,为什么我们需要它们?为什么每个对象都无法访问,无论是否需要访问? 问题答案: 当您必须维护更大的项目时,原因变得更加明显。当方法或变量是公共的时,对它进行更改时必须小心,因为您永远不知道代码库的哪些部分依赖于它的确切行为。 但是,当变量或方法是私有的时,您会知道该变量

  • 问题内容: 如果我没有明确声明,方法或实例变量的默认访问修饰符是什么? 例如: 此构造函数的访问修饰符是受保护的还是打包的?同一包(即)中的其他类可以调用此构造函数吗? 问题答案: 如果一个类没有修饰符(默认值,也称为),则它仅在其自己的包中可见(包被命名为相关类的组,你将在以后的课程中对其进行了解。) 在,你也可以像顶级类一样使用修饰符或(),并且含义相同。

  • 问题内容: 这个问题已经在这里有了答案 : [警告:preg_replace():未知修饰符“]” ](file:///C:/questions/20705399/warning-preg- replace-unknown-modifier) (3个答案) 11个月前关闭。 当我写以下内容时,我得到这样的警告,它与任何内容都不匹配,但是我敢肯定,其中包含… 为什么我会收到这样的警告消息? 谢谢 问