假设我有一个班级:
public final class Foo
以及引用该类的反映Class clz
引用。
如何判断(使用clz
)Foo
是final
?
答案 0 :(得分:18)
Modifier.isFinal(clz.getModifiers())
类(或字段或方法)的修饰符在反射API中表示为打包位int
。每个可能的修饰符都有自己的位掩码,Modifier
类有助于掩盖这些位。
您可以检查以下修改器:
abstract
final
interface
native
private
protected
public
static
strictfp
synchronized
transient
volatile
答案 1 :(得分:5)
Modifier.isFinal(clz.getModifiers())
答案 2 :(得分:2)
您使用Class.getModifiers()
,理想情况下使用Modifier
类以可读方式解释返回值:
if (Modifier.isFinal(clz.getModifiers())