概述
JAVA中通过反射机制访问对象的属性
- 给属性赋值set
- 获取属性的值get
- 访问私有属性需要使用setAccessible(true)打破封装,但打破封装可能会造成数据被篡改
public class FieldTest03 {
public static void main(String[] args) throws Exception{
//不使用反射机制创建对象
User user = new User();
//不使用反射机制修改属性
user.age = 100;
//不使用反射机制获取对象属性值
System.out.println(user.age);
//使用反射机制创建对象:
Class c = Class.forName("reflection.field.User");
Object o = c.newInstance(); //底层调用无参数构造方法
Field field = c.getDeclaredField("age");
//field ——> age变量
//o ——> User对象
//对o对象的age变量修改属性值
field.set(o,20);
//获取o对象的age的属性值
System.out.println(field.get(o));
//访问私有的属性:
Field privateField = c.getDeclaredField("ID");
//打破封装(反射机制的缺点:打破封装可能会造成数据被篡改)
privateField.setAccessible(true);
//不打破封装会报异常java.lang.IllegalAccessException
System.out.println(privateField.get(o));
}
}
最后
以上就是稳重小蘑菇为你收集整理的JAVA中通过反射机制访问对象的属性get,set的全部内容,希望文章能够帮你解决JAVA中通过反射机制访问对象的属性get,set所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复