1.什么是JavaBean
JavaBean 是一種JAVA語(yǔ)言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無(wú)參數(shù)的構(gòu)造器。簡(jiǎn)單一點(diǎn)來(lái)說(shuō)JavaBean就是一種規(guī)范,也就是對(duì)類的一些要求。
JavaBean可分為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒(méi)有用戶界面,主要負(fù)責(zé)處理事務(wù)(如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫(kù))的JavaBean。JSP通常訪問(wèn)的是后一種JavaBean。我們今天要了解的就是第二種JavaBean。
下面我們來(lái)寫一個(gè)JavaBean類,然后根據(jù)這個(gè)JavaBean類來(lái)詳細(xì)了解JavaBean規(guī)范。
在一個(gè)web工程或Java工程中創(chuàng)建一個(gè)Class類,名稱為Person,主要代碼如例1-1所示:
例1-1 Person.java
2.JavaBean規(guī)范
例1-1中,有一個(gè)JavaBean類Person,這個(gè)Person類中有三個(gè)成員變量,并且每個(gè)成員變量都提供了相應(yīng)的get/set方法,另外,Person類還存在一個(gè)無(wú)參的構(gòu)造方法。根據(jù)以上描述,我們來(lái)說(shuō)說(shuō)JavaBean都有哪些規(guī)范,如下所示:
- 必須提供一個(gè)無(wú)參的構(gòu)造器;
- 為屬性提供get/set方法;
- 實(shí)現(xiàn)序列化接口:Serializable;
2.1JavaBean屬性
一般來(lái)說(shuō)JavaBean屬性是具有g(shù)et/set方法的成員,但是也有特殊情況,例如,在Person類中提供如下方法,如例1-2所示:
例1-2中,Person類中定義了一個(gè)方法,名為getPassword(),這個(gè)方法并沒(méi)有對(duì)應(yīng)的成員變量,但是password仍然是Person類的屬性,這表明javaBean中的get/set方法,將get,set去掉后,并將首字母變成小寫的單詞就是屬性的名稱。
屬性不一定都具有g(shù)et和set方法,有如下兩種情況:
- 只具有g(shù)et方法,這樣的屬性稱為只讀屬性;
- 只具有set方法,這樣的屬性稱為只寫屬性;
如果,JavaBean類的屬性的類型是boolean類型,那么該屬性的讀方法的格式可以是isXxx()或者getXxx(),例如,名為state的boolean類型的屬性,它的讀方法可以是isState()或者是getState()。
本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://xamj520.com/javaee