JavaBean是Java中的一個組件,類似于微軟的COM組件,其本質上是一個封裝了一系列屬性和方法的類。該類遵循一定的標準,提供公共方法,只要遵循同樣標準,用戶就可以調用JavaBean里面已經設計好的方法,從而達到代碼重復利用的目的。本文將介紹JavaBean技術的基礎知識。

  一、什么是JavaBean

  簡單的說,JavaBean就是普通的Java類,只是它遵循了一些特定的規范(可稱之為JavaBean規范),對一些功能進行封裝,并對外界提供可以調用的方法接口,從而使其他開發者可以調用其內部已有的功能,從而實現代碼的重復利用,而且對某個功能模塊的修改完全不會影響其他模塊。當程序出錯時,很容易把錯誤定位在某哥模塊上,使程序調試、開發效率大大提高。由于開發的功能模塊都封裝成了可以重復利用的組件,團隊聯合開發大型應用系統也方便了許多。

  下面通過一個簡單的例子來展示JavaBean的規范,這段程序的功能就是求出a、b的和,并且在控制臺輸出;view plain package test.javabean;//a和b相加的JavaBean AddBean public class AddBean {

  //私有屬性a,b private int a;private int b;

  //公有方法計算a,b兩個數的和public int add(int a, int b){ return a+b;}

  //公有方法在控制臺打印a,b兩個數的和public void print(){ System.out.println(“a+b= ” + add(a,b));}

  //相對應于a屬性的獲取方法public int getA() { return a;} //相對應于a屬性的設置方法public void setA(int a) { this.a = a;} //相對應于b屬性的獲取方法public int getB() { return b;} //相對應于b屬性的設置方法public void setB(int b) { this.b = b;}

  調用AddBean.java的簡單示例代碼:view plain package test.javabean;//調用AddBean 的一個簡單示例public class TeatAddBean {

  /** * @param args */ public static void main(String[] args) { //新建AddBean對象AddBean add = new AddBean();

  //設置a、b的值add.setA(10);add.setB(20);

  //調用AddBean的方法在控制臺打印a、b的和add.print();

  }

  }運行TestAddBean 結果如下:

  

  觀察AddBean的代碼,可知,JavaBean 本質上就是為了重復利用代碼(如方便 TestAddBean 的調用)而進行功能封裝的Java類,在遵循特定的規范基礎上向外界提供調用的接口。 那到底有哪些規范呢?下一部分就來介紹JavaBean的編碼規則,就能了解了。

  二、JavaBean 的編碼規則

  前面反復有提到 JavaBean 要遵循特定的規范標準,正是這些規范標準將它與普通的Java代碼區分開,而這個規范標準則是通過特定的編碼規則來體現的。上一部分中的AddBean.java就是一個標準的JavaBean.觀察代碼,我們可以總結出,一個JavaBean是由其屬性和方法構成,這些屬性和方法的編碼規則如下:1、JavaBean中的所有的屬性都是私有的,即屬性的訪問類型都設置為private.這樣設置的好處是提高對屬性值的保護,可以防止一些惡意的程序修改屬性值,同時,也良好地體現了JavaBean的封裝性。對屬性的取值和賦值操作要通過對應的方法進行。

  2、在JavaBean中的每一個屬性,都必須有相對應的屬性獲取和設置方法,即每個屬性必須要提供對應的 getXxx 和 setXxx 方法,并且每個方法的訪問類型必須為 public 類型的,其目的是供其他的程序進行設置或獲取屬性值。例如,示例的中的屬性a ,提供了與其對應的setA()和getA()方法。

  3、如果屬性的類型為boolean型的數據,那么要設置它的方法就不再是 getXxx 和 setXxx 方法了,應該相對應的改成isXxx() 和setXxx() 方法。其中isXxx方法的效果和取值get的作用相同,只是,在英語中,將 is 放在前面可以表示一個疑問句,需要做是或否的回答。所以用 is 標志的屬性,就表明它是一個boolean類型變量,既方便又合理。

  以上三條就是編寫JavaBean需要遵循的編碼規則,只有這樣,支持JavaBean的環境引擎才能找到JavaBean的屬性和方法,別的開發者才能調用JavaBean中提供的功能方法。