Java学习之——JavaBeans

1.什么是JavaBeans?

JavaBeans是Java语言中可以重复使用的软件组件,它们是一种特殊的Java类,将很多的对象封装到了一个对象(bean)中。
特点是
可序列化,
提供无参构造器,
提供getter方法和setter方法访问对象的属性

2.JavaBeans的优点和缺点:

优点:

1 Bean可以控制它的属性、事件和方法是否暴露给其他程序。
2 Bean可以接收来自其他对象的事件,也可以产生事件给其他对象。
3 有软件可用来配置Bean。
4 Bean的属性可以被序列化,以供日后重用

缺点:

1.无参构造器的类可能实例化无效。开发者实例化它(而不是通过一些Framework实例),开发者可能没有意识到类已经不正确地实例化了。
编译器不能发现这样的问题,即使这已经被记录在文档中,也不能保证开发者会看这个文档。
2.需要为每个属性创建getter方法及大部分属性创建setter方法。这将导致巨大数量的构造模版代码(boilerplate code)

3.JavaBeans规范

1.有一个公有的无参构造器。
2.属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。
3.可序列化。

例子:

 1 public class StudentBean implements java.io.Serializable{
 2     /*
 3      * 私有属性
 4      */
 5     private String name = null;
 6     private int age = 18;
 7     private boolean hasScholarship = false;
 8     //无参构造函数
 9     public StudentBean() {
10     }
11     //getter,setter方法
12     public String getName() {
13         return name;
14     }
15     public void setName(String name) {
16         this.name = name;
17     }
18     public int getAge() {
19         return age;
20     }
21     public void setAge(int age) {
22         this.age = age;
23     }
24     public boolean isHasScholarship() {
25         return hasScholarship;
26     }
27     public void setHasScholarship(boolean hasScholarship) {
28         this.hasScholarship = hasScholarship;
29     }
30     @Override
31     public String toString() {
32         return "Student name:"+getName()+"\nage:"+getAge()+"\nHasScholarship?"+isHasScholarship();
33     }
34 }

 

 1 public class TestStudentBean {
 2      
 3      public static void main(String[] args) {
 4          StudentBean student = new StudentBean();
 5          
 6          student.setName("Jack");
 7          student.setAge(20);
 8          student.setHasScholarship(true);
 9          
10          System.out.println(student);
11     }
12      
13 }

 

posted @ 2014-11-15 18:07  onerepublic  阅读(1103)  评论(0编辑  收藏  举报