访问标志
访问标志值 | 类 | 方法 | 字段 |
---|
0x0001 | public | public | public |
0x0002 | | private | private |
0x0004 | | protected | protected |
0x0008 | | static | static |
0x0010 | final | final | final |
0x0020 | super 一直为true | synchronized | |
0x0040 | | bridge 编译器产生的桥接方法 | volatile |
0x0080 | | | transient |
0x0100 | | native | |
0x0200 | interface | | |
0x0400 | abstract | abstract | |
0x0800 | | strictfp | |
0x1000 | synthetic 编译器自动产生 | synthetic | synthetic |
0x2000 | annotation | | |
0x4000 | enum | | enum |
0x8000 | module | | |
使用
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Ts {
public static void main(String[] args) throws ClassNotFoundException {
Class classType2 = String.class;
Class classType3 = "String.class".getClass();
Class classType4 = Class.forName("java.lang.String");
if ((classType4.getModifiers() & 0x0010) != 0) {
}
Method[] methods = classType4.getMethods();
for (Method method : methods) {
if ((method.getModifiers() & 0x0010) != 0) {
}
}
Field[] fields = classType4.getDeclaredFields();
for (Field field : fields) {
if ((field.getModifiers() & 0x0010) != 0) {
}
}
}
}