我是靠谱客的博主 顺心电源,最近开发中收集的这篇文章主要介绍关于Field反射的简单理解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天在苏州,没事闲着写下自己的一份博客,自己在看代码的时候遇到问题就喜欢总结,希望有一天能成为像郭大神鸿洋这样的大神!

进入今天的正题

1.怎么通过反射获取类的属性

 a)Class.getDeclaredField(String name);

  返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段

   比如说student中的name这个字段

  

b)Class.getDeclaredFields();

      返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段

这个返回的就是字段的数组也就是把所有的字段都收集起来

       Field [] prFields4=stu.getClass().getDeclaredFields();
        for(Field field:prFields4)
        {
            System.out.println(field);
            System.out.println(field.equals(property1));
            //私有变量必须先设置Accessible为true
            field.setAccessible(true);
            //获取用get类方法。
            System.out.println(field.get(stu));
        }
        //设置用set类方法 可以为该字段的属性设置值
        property3.set(stu, "名字被我改了,哈哈");

 Text a = new Text();
    Field field = null;
   field = a.getClass().getDeclaredField("x");
    System.out.println("xiugaiqiandezhi----------------"+ field);

打印出来的是一个地址private java.lang.String Text.x

下面这个就表示为这个字段设置设置值,这样的话打印出来的就是你设置的这个值了  

 field.set((Object) a, "8");
   System.out.println("xiugaiqiandezhi----------------"+ field.get(a));

最后

以上就是顺心电源为你收集整理的关于Field反射的简单理解的全部内容,希望文章能够帮你解决关于Field反射的简单理解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部