Java反射
import java.lang.reflect.Field;
public class ReflectionExample {
public static void main(String[] args) throws Exception {
// 创建一个Person对象
Person person = new Person("张三", 25);
// 获取Person类的Class对象
Class<?> clazz = person.getClass();
// 获取Person类的所有字段
Field[] fields = clazz.getDeclaredFields();
// 遍历所有字段并输出它们的名称和值
for (Field field : fields) {
field.setAccessible(true);
System.out.println(field.getName() + " = " + field.get(person));
}
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
首先,我们创建了一个Person对象,然后获取它的Class对象。接下来,我们使用Class对象的getDeclaredFields()方法获取Person类的所有字段。最后,我们遍历所有字段并输出它们的名称和值。在这个示例中,我们使用了Field类的setAccessible()方法来允许访问私有字段。