[英]How can I tell using reflection if a class is final
假设我有一个班级:
public final class Foo
以及引用该类的反射Class clz
引用。
我如何判断(使用clz
) Foo
是final
?
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.