getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。
getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
代码:
import java.lang.reflect.Field;
import java.util.Arrays;
public class test2 {
//小猫类
class cat{
public String name; //名字
public String color;//颜色
private String address;//住址
}
public static void main(String args[]) {
//通过反射获取
Class<cat> catClasse=cat.class;
//1.
Field[] fields=catClasse.getFields();
Arrays.asList(fields).forEach(field -> System.out.println(field.getName()));
System.out.println("---------------");
//2.方式二
Field[] declaredMethods=catClasse.getDeclaredFields();
Arrays.asList(declaredMethods).forEach(f -> System.out.println(f.getName()));
}
}
结果: