Java高级开发反射手段更换对象根节点内容





新建对像类,其中包括两个私有属性

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
	
	}





早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页