Type
Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。
Field
Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)字段或实例字段。
常用方法
getDeclaredAnnotations()//获取该字段的所有注解,返回的是数组。 前提是该注解是运行时的注解java.lang.annotation.RetentionPolicy.RUNTIME
getModifiers()//获取该字段的访问修饰符
getType()//返回的是该字段的类型
getGenericType()//获取该字段的泛型
get(Object o)//返回是该类某个对象的字段值
set(Object o)// 给某个对象,设置值
public String name="laoqiang";
public int age = 12;
public List<String> list = new ArrayList<String>();
public static void main(String[] args) {
new Test321().getExample();
}
Field[] fields = Test321.class.getFields();
Field f1 = null;
try {
f1 = Test321.class.getField("list");//获取某个指定的字段
} catch (NoSuchFieldException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(f1.getGenericType());//返回该字段的泛型
for(Field f:fields) {
try {
System.out.println("字段的名字:"+f.getName()+"字段的修饰符:"+f.getModifiers()+"值:"+f.get(new Test321())+"字段的类型"+f.getType());
} catch (IllegalArgumentException | IllegalAccessException e) {
// TODO Auto-generated catch block