23-JavaBean

JavaBean
JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。
JavaBean主要用来传递数据,即把一组数据组合成一个JavaBean便于传输。此外,JavaBean可以方便地被IDE工具分析,生成读写属性的代码,主要用在图形界面的可视化设计中。
public class Person {
    private String name;
    private int age;
    //对字段 name读写
    public String getName() { return this.name; }
    public void setName(String name) { this.name = name; }
    //对字段 age 读写
    public int getAge() { return this.age; }
    public void setAge(int age) { this.age = age; }

    public boolean isChild() {
        return age <= 6;
    }//只读属性
}

JavaBeans只是一种对数据封装的含义,一个class中有private的实例字段,有public方法来读写实例字段,就可以称这个class为javabean,在通常情况下一组对应的读方法(getter)和写方法(setter)的称为属性(property),如果只有setter没 getter的属性称为只写属性,反之称为只读属性。

枚举JavaBean属性
要枚举一个JavaBean的所有属性,可以直接使用Java核心库提供的Introspector ,使用Introspector.getBeanInfo()可以获取属性列表。
import java.beans.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BeanInfo info = Introspector.getBeanInfo(Person.class);
        for (PropertyDescriptor pd : info.getPropertyDescriptors()) {
            System.out.println(pd.getName());
            System.out.println("  " + pd.getReadMethod());
            System.out.println("  " + pd.getWriteMethod());
        }
    }
}

class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

 

posted @ 2019-08-27 12:21  年小猫  阅读(139)  评论(0编辑  收藏  举报