繁体   English   中英

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

[英]How can I tell using reflection if a class is final

假设我有一个班级:

public final class Foo

以及引用该类的反射Class clz引用。

我如何判断(使用clzFoofinal

使用Class#getModifiers

Modifier.isFinal(clz.getModifiers())

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

您可以检查以下修改器:

  • abstract
  • final
  • interface
  • native
  • private
  • protected
  • public
  • static
  • strictfp
  • synchronized
  • transient
  • volatile
Modifier.isFinal(clz.getModifiers())

您使用Class.getModifiers() ,理想情况下使用Modifier类以可读的方式解释返回值:

if (Modifier.isFinal(clz.getModifiers())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM