JavaBean中的get/set 的命名規範

來源:互聯網
上載者:User
最近的struts項目中遇到了這樣的問題: 我的action中全域變數明明有getset方法,而且是自動產生的,但是在使用的時候,總是說找不到這個屬性的getset方法,取不到從jsp傳來的值, 原因如下:變數名為:hDeptment,在自動產生getset方法為:setHDeptment,getHDeptment。下面是解釋這個問題。

(1)JavaBean 類必須是一個公用類,並將其訪問屬性設定為 public  ,如: public class user{......}

(2)JavaBean 類必須有一個空的建構函式:類中必須有一個不帶參數的公用構造器

(3)一個javaBean類不應有公用執行個體變數,類變數都為private  ,如: private int id;
(4)屬性應該通過一組存取方法(getXxx 和 setXxx)來訪問,一般是IDE(Eclipse、JBuilder) 為屬性產生getter/setter 方法

 

 

一般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。

所以在action的全域變數和JavaBean命名時應該注意符合以上命名規範。

 

附下表,看看吧:

————————————————————————————————————————————————————————

屬性名稱/類型                    |                       getter 方法              |                    setter 方法  

————————————|——————————————————|——————————————————————————
xcoordinate/Double     | public Double getXcoordinate()     | public void setXcoordinate(Double newValue)

————————————|——————————————————|——————————————————————————
xCoordinate/Double    | public Double getxCoordinate()     |public void setxCoordinate(Double newValue)

————————————|——————————————————|——————————————————————————
XCoordinate/Double    |public Double getXCoordinate()     | public void setXCoordinate(Double newValue)

————————————|——————————————————|——————————————————————————
Xcoordinate/Double     |不允許                                             |    不允許

————————————|——————————————————|——————————————————————————
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.