反射类 Modifier类
Modifier类
Modifier用来表示各修饰符的权重值,以16进制表示
16转10进制计算规则:
16进制数转10进制数的原理:1000=1X16^3(16的3次方)+0X16^2(16的2次方)+0X16(16的1次方)+0X1(16的0次方)=4096。
A = 10, B = 11,,C =12,D=13,E=14,F= 15。
FFF=15*(16^2) + 15*(16^1) + 15*(16^0) = 4095。
修饰符 | 16进制 | 10进制 |
---|---|---|
PUBLIC | 0x00000001 | 1 |
PRIVATE | 0x00000002 | 2 |
PROTECTED | 0x00000004 | 4 |
STATIC | 0x00000008 | 8 |
FINAL | 0x00000010 | 16 |
SYNCHRONIZED | 0x00000020 | 32 |
VOLATILE | 0x00000040 | 64 |
TRANSIENT | 0x00000080 | 128 |
NATIVE | 0x00000100 | 256 |
INTERFACE | 0x00000200 | 512 |
ABSTRACT | 0x00000400 | 1024 |
STRICT(strictfp) | 0x00000800 | 2048 |
BRIDGE | 0x00000040 | 64 |
VARARGS(可变参数) | 0x00000080 | 128 |
SYNTHETIC | 0x00001000 | 4096 |
ANNOTATION | 0x00002000 | 8192 |
ENUM | 0x00004000 | 16384 |
MANDATED | 0x00008000 | 32768 |
类允许的修饰符
private static final int CLASS_MODIFIERS =
Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE |
Modifier.ABSTRACT | Modifier.STATIC | Modifier.FINAL |
Modifier.STRICT;
接口允许的修饰符
private static final int INTERFACE_MODIFIERS =
Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE |
Modifier.ABSTRACT | Modifier.STATIC | Modifier.STRICT;
构造器
private static final int CONSTRUCTOR_MODIFIERS =
Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE;
方法
private static final int METHOD_MODIFIERS =
Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE |
Modifier.ABSTRACT | Modifier.STATIC | Modifier.FINAL |
Modifier.SYNCHRONIZED | Modifier.NATIVE | Modifier.STRICT;
属性
private static final int FIELD_MODIFIERS =
Modifier.PUBLIC | Modifier.PROTECTED | Modifier.PRIVATE |
Modifier.STATIC | Modifier.FINAL | Modifier.TRANSIENT |
Modifier.VOLATILE;
参数
private static final int PARAMETER_MODIFIERS =
Modifier.FINAL;