1)获取对象的属性,包括修饰符,类型和名称如: 创建Person类 package cn.com; public class Person { public int intValide=13; public String name; public int dou; public int age; public String password; public void setIntValide(int valide){ this.intValide = valide; } } 创建ClassTest1类 package cn.com; import java.lang.reflect.Field; import java.lang.reflect.Modifier; public class ClassTest { public static void main(String[]args) throws ClassNotFoundException{ Class person= Class.forName("cn.com.Person"); Field []fields = person.getFields(); System.out.println("全路径类名:"+person.getName()); System.out.println("类名:"+person.getSimpleName()); for(Field f:fields){ System.out.print(Modifier.toString(f.getModifiers())+" "); System.out.print(f.getType()+" "); System.out.print(f.getName()+"/n"); } } } 运行结果: 全路径类名:cn.com.Person 类名:Person public int intValide public class java.lang.String name public int dou public int age public class java.lang.String password 2)获取对象的值 创建Person类 public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } 创建ClassTest2类 import java.lang.reflect.Field; public class ClassTest2 { public static void main(String[]args) throws IllegalArgumentException, IllegalAccessException{ //获取 Person类对象 Class c = Person.class; //新建一个Person对象,在获取对象属性值的时候需要作为参数传 Person person = new Person(); //获取类对象的属性域包括属性和属性值 person.setName("ningbingjian"); Field[] fields = c.getDeclaredFields(); for(Field f:fields){ //针对不能访问的PRIVATE 属性,设置可访问性 f.setAccessible(true); //输出 System.out.println(f.getName()+"值是:"+f.get(person)); } } } 输出: name值是:ningbingjian