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特此为这种情况出现了一个新的部分---内省.在后面详细的介绍一下.

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

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

posted @ 2018-03-18 15:23  最爱五仁月饼  阅读(92)  评论(0编辑  收藏  举报