zoukankan      html  css  js  c++  java
  • 003 属性反射

    一般情况下,属性反射不怎么去使用.

    但是对于一个javaBean来说,属性反射就成了最为重要的功能.

    为此,java提出了一个内省的功能.这个在后面需要详细的介绍.


    首先了解一下属性反射

    public class User {
        private String name;
        @Override
        public String toString() {
            return "User [name=" + name + "]";
        }
    }

    下面使用反射设置一下这个属性,然后调用toString()方法显示一下这个属性.

    User user = User.class.newInstance();
    Field name = User.class.getDeclaredField("name");
    //由于这个属性时私有的,需要重新设置访问权限
    name.setAccessible(true);
    name.set(user, "trek");
    System.out.println(user);

    现在我们就通过反射属性进行了值的设置了.


    刚才说到,对于一般的javaBean来讲,属性就是其核心.

    因为这样的对象我们最主要的作用就是存储数据.

    javaBean的定义

    (1)拥有一个无参的构造函数

    (2)成员都私有

    (3)拥有set和get方法

    其实这里面就有一个约定,我们通过是否有set和get就可以判断属性时什么.

    java特此为这种情况出现了一个新的部分---内省.在后面详细的介绍一下.

    一旦有了内省,我们就可以实现参数的映射,等框架的实现方式.

    我们未必会写这些,但是可以帮助我们理解整个框架答题是怎么实现的.

  • 相关阅读:
    shell中的for循环
    tty相关
    udev规则
    find中perm参数
    日志级别的选择:Debug、Info、Warn、Error还是Fatal
    云计算、云存储、大数据
    JSON数据解析(python3.4)
    38、友盟统计
    37、iamgeview 图层叠加
    36、imageview的坑
  • 原文地址:https://www.cnblogs.com/trekxu/p/8595585.html
Copyright © 2011-2022 走看看