如果一个类是最终的,我如何告诉使用反射

P45*_*ent 10 java reflection

假设我有一个班级:

public final class Foo

以及Class clz引用该类的反映参考.

我怎么知道(使用clz)那Foofinal什么?

Pet*_*ser 19

使用Class#getModifiers:

Modifier.isFinal(clz.getModifiers())
Run Code Online (Sandbox Code Playgroud)

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

您可以检查以下修改器:

  • abstract
  • final
  • interface
  • native
  • private
  • protected
  • public
  • static
  • strictfp
  • synchronized
  • transient
  • volatile


nii*_*74u 5

Modifier.isFinal(clz.getModifiers())
Run Code Online (Sandbox Code Playgroud)