Field类,代表的是类的属性,也称成员变量,Field对象通过Class的getDeclareField()或getDeclaredFields()方法获取,处于java.lang.reflect包。
import java.lang.reflect.Field; /** * Created by wjz on 2017/3/12. */ class FieldTestClass { String name; int age; //构造方法 public FieldTestClass(String name, int age) { super(); this.name = name; this.age = age; } } public class FieldTest { public static void main(String[] args) { FieldTestClass obj1 = new FieldTestClass("hello1", 100); FieldTestClass obj2 = new FieldTestClass("hello2", 300); System.out.println(compare(obj1, obj2) + "is bigger"); } private static FieldTestClass compare(FieldTestClass obj1, FieldTestClass obj2) { try { //用两种方法获取一个Field对象 Field field = obj1.getClass().getDeclaredField("age"); field = FieldTestClass.class.getDeclaredField("age"); //获得两个对象的age的值 int val1 = (Integer) field.get(obj1); int val2 = (Integer) field.get(obj2); //进行比较 if (val1 > val2) { return obj1; } else { return obj2; } } catch (Exception e) { e.printStackTrace(); } return null; } }