zoukankan      html  css  js  c++  java
  • 反射入门

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

  • 相关阅读:
    struct pack unpack
    读书笔记 第四章&第五章
    The Sieve of Eratosthens(爱拉托逊斯筛选法)
    2013年3月百度之星A题
    2013年3月百度之星B题
    好句子
    BFS 与 DFS
    记录本
    HDU 2028 如何计算最小公倍数?
    HDU 2015 偶数求和 解题报告
  • 原文地址:https://www.cnblogs.com/dabu/p/12975297.html
Copyright © 2011-2022 走看看