首先要知道 Declared的意思就是 声明
直接拿代码举例子
这里是使用 getDeclaredFields
Field[] fields=sb.getClass().getDeclaredFields();
for(Field field:fields){
System.out.println("getDeclaredFields的对应:"+field.getName());
}
输出结果
这里是使用 getFields的
Field[] fields=sb.getClass().getFields();
for(Field field:fields){
System.out.println("getFields的对应:"+field.getName());
}
输出结果
总结:
getFields就是获得所有公共的public字段,而getDeclaredFields则是获得所有的字段,其中除了public以外,还包括private和protected