JavaBean中的get/set 的命名规范
2016-03-25 14:43
375 查看
JavaBean中的get/set 的命名规范
2012年01月01日 ⁄ 综合 ⁄ 共 1698字 ⁄ 字号 小 中 大 ⁄ 评论关闭<iframe id="iframeu1788635_0" src="http://pos.baidu.com/mcym?rdid=1788635&dc=2&exps=112101&di=u1788635&dri=0&dis=0&dai=2&ps=236x781&dcb=BAIDU_SSP_define&dtm=BAIDU_DUP_SETJSONADSLOT&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1458887711052&ti=JavaBean%E4%B8%AD%E7%9A%84get%2Fset%20%E7%9A%84%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83%20%7C%20%E5%AD%A6%E6%AD%A5%E5%9B%AD&ari=1&dbv=2&drs=1&pcs=1111x549&pss=1111x256&cfv=0&cpl=4&chi=1&cce=true&cec=UTF-8&tlm=1458887711<u=http%3A%2F%2Fwww.xuebuyuan.com%2F529996.html<r=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DSd2R6LvdlPD18Vv9l6miSoJFVfl075zGn_TYlafBZrnTyo5l30qQhYbO-8gEFxrV%26wd%3D%26eqid%3Dd924b9f8000012e90000000556f4d98c&ecd=1&psr=1366x768&par=1366x728&pis=-1x-1&ccd=24&cja=false&cmi=6&col=zh-CN&cdo=-1&tcn=1458887712&qn=b1506a753fac0946&tt=1458887709376.2590.4290.4291" width="336" height="280" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="margin: 0px; padding: 0px; border-width: 0px; border-style: initial; font-size: 13px; vertical-align: bottom; background: transparent;"></iframe>
最近的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 |不允许 | 不允许
————————————|——————————————————|——————————————————————————
相关文章推荐
- 做一个合格的程序猿之浅析Spring AOP源码(十六) 分析ProxyFactory
- 【Spring五】AOP之使用注解配置
- spring mvc 多数据源配置
- java的Runtime的exec
- pom控制java项目的打包方式
- 第一个Java程序
- java数组遍历——iterator和for方法
- java Pattern和Matcher详解
- 3月25日html(六) Javascrip
- Java Memory Model
- java 线程中断
- java 正则操作之获取
- ssh整合问题总结--运行项目时报java.lang.StackOverflowError(堆栈溢出)异常
- Java集合(三)TreeSet的使用
- java 变量的命名,get和set方法的问题
- Java 之NIO(二) - Channel
- java 小结 (二)
- (转)Java集合---HashMap源码剖析
- Java集合(二)HashSet的使用
- java get set 方法有什么作用?