网站首页 > java教程 正文
新年好,各位打工人[呲牙][呲牙]
我们先来搞明白,通过反射来设置和获取属性的值有什么用处 ------> 反射机制虽然让我们的代码更加复杂了,但是非常的灵活,为了灵活所以就是值得的,在我们以后学习的框架中,反射机制有着非常大的作用。理解反射有助于我们学习框架的底层代码和原理。
我们正常为属性复制只需要两步1、//创建对象 Student stu = new Student(); 2、//设置属性值 stu.setName("张三");
通过反射来为属性赋值:1、//获取类的字节码 Class c = Student.class; 2、//创建对象 Object obj = c.newInstance(); 3、//获取name属性对象 Field nameField = stuClass.getDeclaredField("name"); 4、//设置属性的值 nameField.set(obj, "赵东");5、 //获取属性的值 String nameVal = (String) nameField.get(obj);
我们来看下代码:
总结:通过反射来操作类,第一步永远都是先获取这个类的字节码文件,只有字节码才能获取属性的对象,因为获取的属性也是对象,所以设置和获取属性的值,需要 属性对象.set(对象,值);这种形式。
重点:如果对象里面的属性是private私有的,那么我们需要添加一行代码 要打破封装:nameFiled.setAccessible(true); 这样设置完之后,在外部也是可以访问private的。
猜你喜欢
- 2024-10-12 java基础之反射,反射API的组成,反射机制的应用场景
- 2024-10-12 Java反射与反射优化(java反射与反射优化的区别)
- 2024-10-12 尚学堂讲有关Java反射的那些事(java反射如何通俗易懂理解)
- 2024-10-12 Java面试手册:反射(java面试反射机制)
- 2024-10-12 如何通过反射获得方法的真实参数名(以及扩展研究)
- 2024-10-12 Java中的反射使用(java 反射使用)
- 2024-10-12 Java面试技术,这31个反射问题你都会嘛?(有答案)
- 2024-10-12 Java反射机制详解(java中的反射机制)
- 2024-10-12 测试开发必须掌握的知识点:Java反射
- 2024-10-12 Java反射机制(Java反射机制主要提供了以下哪些功能)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)