新建对像类,其中包括两个私有属性 class Person {
//定义对象的两个私有属性
private String name = "张三";
private String age = "23";
public String getName() {
return name;
}
public String getAge() {
return age;
}
} 置换根节点内容的操作 Person person = new Person();
System.out.println("age is "+person.getAge()+"\t name is "+person.getName());
//age is 23
name is 张三
String name = person.getName();
String age = person.getAge();
//通过反射的方法将对象两个根节点内容进行转换
//反射手段获取一个对象
Class c = person.getClass();
//获取对象中指定的属性
Field field1 = c.getDeclaredField("name");
Field field2 = c.getDeclaredField("age");
//由于这里我们进行操作的属性是私有的要权限,所以要使用暴力反射
field1.setAccessible(true);
field2.setAccessible(true);
//对其属性进行新的设置
//改变age节点内容
field1.set(person, age);
//改变name节点内容
field2.set(person, name);
System.out.println("age is "+person.getAge()+"\t name is "+person.getName());
//age is 张三
name is 23
}