您的位置 首页 java

java通过反射set,get属性的值

新年好,各位打工人[呲牙][呲牙]

我们先来搞明白,通过反射来设置和获取属性的值有什么用处 ——> 反射机制 虽然让我们的代码更加复杂了,但是非常的灵活,为了灵活所以就是值得的,在我们以后学习的框架中,反射机制有着非常大的作用。理解反射有助于我们学习框架的底层代码和原理。

我们正常为属性复制只需要两步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的。

文章来源:智云一二三科技

文章标题:java通过反射set,get属性的值

文章地址:https://www.zhihuclub.com/191319.shtml

关于作者: 智云科技

热门文章

网站地图