myClass.getClass().getDeclaredFields()
是Java反射API的一个方法,用于获取类的所有声明字段,包括各种访问权限字段(punlic、protected、default、private),不包含继承父类的字段。
用法:
//获取类的所有声明字段
Fleld[] fields = MyClass.getClass().getDeclaredFields();
for(Field field : fields){
//用于绕过Java语言的访问控制检查,允许反射对象访问或修改私有字段。
field.setAccessible(true);
//获取字段信息:字段名,字段类型(long、String等),修饰符
String name = field.getName();
Class<?> type = field.getType();
int modifiers = field.getModifiers();
}
注意:性能方面比直接代码调用慢,某些环境下无法访问私有字段。