java 反射 - 获取成员变量的值.

通过反射,可以获取所有声明的成员变量(包括所有的),代码如下:

package spt.test.src;



public class Person {

	private String name = "pri_name";

	public String id;

}

 运行测试:

package spt.test;



import java.lang.reflect.Field;



import spt.test.src.Person;



class ReflectionTest {

	@SuppressWarnings("unchecked")

	public static void main(String[] args) throws IllegalAccessException {

		Person person = new Person();

		person.id = "akk";

		

		Class<Person> pClass = (Class<Person>) person.getClass();

		for (Field field : pClass.getDeclaredFields()) {

			try {

				//set accessable.

				field.setAccessible(true);

				//get field name and value.

				System.out.println(field.getName() + ":" + field.get(person));

			} catch (IllegalArgumentException e) {

				e.printStackTrace();

			}

		}

	}

}

 将在控制台上输出:

name:pri_name

id:akk

 

你可能感兴趣的:(java 反射)