JAVA 反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。
其中,该修饰符是java.lang.reflect.Modifier的静态属性。
对应表如下:
类型 int 二进制
PUBLIC: 1 1
PRIVATE: 2 10
PROTECTED: 4 100
STATIC: 8 1000
FINAL: 16 10000
SYNCHRONIZED: 32 100000
VOLATILE: 64 1000000
TRANSIENT: 128 10000000
NATIVE: 256 100000000
INTERFACE: 512 1000000000
ABSTRACT: 1024 10000000000
STRICT: 2048 100000000000
//判断是不是private类型方法
public static boolean is Private(int modifiers){
retrurn ((modifiers & 0x2)!=0);
}
分析一下,&是按位与操作符,0x2是十六进制,二进制是10,所以只有private类型按位与不为0.