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);//通过属性对象修改某个实体类对象里面改属性的值,但是如果属性是私有的要给他打开