反射入门

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