通过java的文档注释
getFields():Returns an array containing Field
objects reflecting all the accessible public fields of the class or interface represented by thisClass
object.
也就是获取该类中或者实现的接口中的public修饰的属性。
getDeclaredFields():Returns an array of Field
objects reflecting all the fields declared by the class or interface represented by thisClass
object. This includes public, protected, default (package) access, and private fields, but excludes inherited fields.
package com.tlq.search.demo;
import java.lang.reflect.Field;
public class ReflactTest {
public static void main(String[] args) throws Exception {
Field[] fields = Bean.class.getFields();
System.out.println("====getFields:====");
for (Field field : fields) {
System.out.println(field.toString());
}
fields = Bean.class.getDeclaredFields();
System.out.println("====getDeclaredFields:====");
for (Field field : fields) {
System.out.println(field.toGenericString());
}
}
public static class Base {
public String basePublicField;
}
public static class Bean extends Base {
public String publicField;
protected String protectedField;
private String privateField;
String defaultFiled;
}
}
运行结果如下: