首页 > 其他 > 详细

反射入门

时间:2020-05-27 19:12:57      阅读:25      评论:0      收藏:0      [点我收藏+]

java里面反射是什么:反射就是把Java类中的各个部分,映射成一个个的Java对象,拿到这些对象后可以做一些事情。

反射:通过字节码对象,来获取这个类文件里面的属性,方法,构造器,注解

话不多说上代码:

 1 public static void main(String[] args) throws Exception {
 2 
 3         // 反射:通过字节码对象,来获取这个类文件里面的属性,方法,构造器,注解
 4         
 5         //如何获取字节码对象(3种)
 6         Class cls1=UserEntity.class;
 7         
 8         Class cls2=Class.forName("com.lv.entity.UserEntity");
 9         
10         UserEntity u=new UserEntity();
11         Class cls3=u.getClass();
12         
13         //通过字节码对象来获取它里面的属性
14         Field[] fields=cls1.getDeclaredFields();//获取所有的属性对象
15         
16         //Field属性类  field属性对象
17         Field field=cls1.getDeclaredField("bid");//根据属性的名称来获取一个属性对象
18         
19         //修改摸个对象的属性值
20         Object obj=cls1.newInstance();
21         UserEntity us=(UserEntity)obj;
22         
23         //私有属性一定要暴力破解他的私有属性访问的权限
24         field.setAccessible(true);
25         field.set(us, 555);//通过属性对象修改某个实体类对象里面改属性的值,但是如果属性是私有的要给他打开
26         
27         System.out.println(us.getBid());
28         
29     }

当我们不加这一段代码:我们对象集合里面的bid是从0开始的,加上下面的代码就是从555开始的

1  //私有属性一定要暴力破解他的私有属性访问的权限
2 24         field.setAccessible(true);
3 25         field.set(us, 555);//通过属性对象修改某个实体类对象里面改属性的值,但是如果属性是私有的要给他打开

技术分享图片

 

反射入门

原文:https://www.cnblogs.com/dabu/p/12975297.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!