您的位置:首页 > 编程语言 > Java开发

Java反射浅谈

2015-08-11 21:00 429 查看
反射机制是一种程序自我分析的能力。用于获取一个类的类变量,构造函数,方法,修饰符。

优点:运行期类型的判断,动态类加载,动态代理使用反射。

缺点:性能是一个问题,反射相当于一系列解释操作,通知jvm要做的事情,性能比直接的java代码要慢很多。

Java访问和修改私有成员变量

public class Student {

	private String name;
	private String age;
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getAge() {
		return age;
	}
	
	public void setAge(String age) {
		this.age = age;
	}
	
}


import java.lang.reflect.Field;

public class FieldTest {

	public static void main(String[] args) {
		try {
			Student student = new Student();
			student.setName("小强");
			student.setAge("24");
			System.out.println("name : " + student.getName());
			Class<Student> stuClazz = Student.class;
			Field nameFd = stuClazz.getDeclaredField("name");
			// Accessible属性设置为true,才能访问和修改类中的成员变量
			nameFd.setAccessible(true);
			nameFd.set(student, "小明");
			System.out.println("我是" + nameFd.get(student) + ",今年" 
					+ student.getAge() + "岁");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
}


输出结果:
name : 小强
我是小明,今年24岁
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: