java - 如果一个类是最终的,我如何判断使用反射

标签 java reflection

假设我有一个类:

公共(public)最终类 Foo

和引用该类的反射 Class clz 引用。

我怎么知道(使用clz)Foofinal

最佳答案

使用 Class#getModifiers :

Modifier.isFinal(clz.getModifiers())

类(或字段或方法)的修饰符在反射 API 中表示为压缩位 int。每个可能的修饰符都有自己的位掩码,Modifier 类有助于屏蔽掉这些位。

您可以检查以下修饰符:

  • 摘要
  • 最终
  • 接口(interface)
  • 原生
  • 私有(private)
  • protected
  • 公共(public)
  • 静态
  • strictfp
  • 同步
  • transient
  • volatile

关于java - 如果一个类是最终的,我如何判断使用反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23290924/

相关文章:

java - 生产者/消费者 : Consumer needs to remove elements from the shared Queue

java - 什么时候默认不在 logback 中使用 AsyncAppender

java - 调用 MyClass.class 和 MyClass.getClass() 有什么区别

调用方法时出现 Java ClassCastException

java - 在具有运行时保留的对象上找不到注释

java - Jackson:XML 绑定(bind)——处理 Null 与空字符串

java - 为什么线程不切换?

java - 创建一个类的方法并在主类中调用它

reflection - 基于镜子的反射和传统反射有什么区别?

php - 为什么在调用反射方法时按引用传递变量不起作用?