假设我有一个类:
public final class Foo
以及引用该类的反射CCD_ 2引用。
如何判断(使用clz
)Foo
是final
?
使用Class#getModifiers
:
Modifier.isFinal(clz.getModifiers())
类(或字段或方法)的修饰符在反射API中表示为打包位int
。每个可能的修饰符都有自己的位掩码,Modifier
类有助于屏蔽这些位。
您可以检查以下模块:
abstract
final
interface
native
private
protected
public
static
strictfp
synchronized
transient
Class clz
0
Modifier.isFinal(clz.getModifiers())
您使用Class.getModifiers()
,最好使用Modifier
类以可读的方式解释返回值:
if (Modifier.isFinal(clz.getModifiers())