JavaBean简介

一、什么是javabean?

按着Sun公司的定义,JavaBean是一个可重复使用的软件组件。

    实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。由于javabean是基于java语言的,因此javabean不依赖平台,具有以下特点:

    1. 可以实现代码的重复利用
    2. 易编写、易维护、易使用
    3. 可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。

 

  我理解为javabean就是一个按照一定规则来编写的类,是一个可以用来作为一个封装数据的模板。

    比如一个user类,一般具有id,name,gender,age等属性,通过设置各个属性的getId,seId,getName,setName。。。。。等方法,外界可以直接调用想要获取的属性的getter方法即可。有的结果需要封装为一个user对象,也可以直接使用这个模板类,通过调用setter方法直接给属性赋值。

 

二、javabean规范:

    (1)JavaBean 类必须是一个公共类,并将其访问属性设置为 public  ,如: public class user{ …}

    (2)JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器,例如:public User() {…}

    (3)一个javaBean类不应有公共实例变量,类变量都为private  ,如: private int id;

     ( 4 )javaBean属性是具有getter/setter方法的成员变量。也可以只提供getter方法,这样的属性叫只读属性;也可以只提供setter方法,这样的属性叫只写属性;  如果属性类型为boolean类型,那么读方法的格式可以是get或is。例如名为abc的boolean类型的属性,它的读方法可以是getAbc(),也可以是isAbc();

一般JavaBean属性以小写字母开头,驼峰命名格式,相应的 getter/setter 方法是 get/set 接上首字母大写的属性名。例如:属性名为userName,其对应的getter/setter 方法是 getUserName/setUserName

    但是,还有一些特殊情况:

      1、如果属性名的第二个字母大写,那么该属性名直接用作 getter/setter 方法中 get/set 的后部分,就是说大小写不变。例如属性名为uName,方法是getuName/setuName。

      2、如果前两个字母是大写(一般的专有名词和缩略词都会大写),也是属性名直接用作 getter/setter 方法中 get/set 的后部分。例如属性名为URL,方法是getURL/setURL。

      3、如果首字母大写,也是属性名直接用作 getter/setter 方法中 get/set 的后部分。例如属性名为Name,方法是getName/setName,这种是最糟糕的情况,会找不到属性出错,因为默认的属性名是name。

 

 1 package javabean;
 2 
 3 //存在一个公共类
 4 public class User {
 5     
 6     //无参构造函数
 7     public User() {
 8     }
 9 
10     //属性私有
11     private int id;
12     private String name;
13     private int age;
14     private String gender;
15     
16     //所有属性的getter和setter方法啊,将属性暴露给外部
17     public int getId() { return id; }
18     
19     public void setId(int id) { this.id = id; }
20     
21     public String getName() {return name;}
22     
23     public void setName(String name) {this.name = name;}
24     
25     public int getAge() {return age;}
26     
27     public void setAge(int age) {this.age = age;}
28     
29     public String getGender() {return gender;}
30     
31     public void setGender(String gender) {this.gender = gender;}
32 }

 

 

posted @ 2019-04-21 14:59  123gogo  阅读(588)  评论(0编辑  收藏  举报