JAVA 反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。
这些修饰符的定义是在java.lang.reflect.Modifier类中,是它的静态属性。
对应表如下:
PUBLIC: 1
PRIVATE: 2
PROTECTED: 4
STATIC: 8
FINAL: 16
SYNCHRONIZED: 32
VOLATILE: 64
TRANSIENT: 128
NATIVE: 256
INTERFACE: 512
ABSTRACT: 1024
STRICT: 2048
原理
:取2的次幂,对应 int 型数据的二进制位的0、1值,从而可以避免和值有多种可能的表达式。
如:public static final String str = ""; str属性的访问权限数值为:1+8+16=27。而其它的修饰符组合的和值都不可能出现27,所以27能唯一标识public static final权限。