javabean属性命名规范有哪些?javabean属性命名规范

JavaBean是一种JAVA语言写成的可重用组件,是一个遵循特定写法的Java类,我们在使用的过程中一定要遵守它的命名规范,那javabean属性命名规范有哪些?下面来我们就来给大家讲解一下。

项目中,在一个JavaBean中遇到了一个布尔类型属性值命名的问题:

// 基本数据类型
private boolean isTest;
public boolean isTest()
{
    return isTest;
}
public void setTest(boolean test)
{
    isTest = test;
}
// 包装类
private Boolean isDVP;
public Boolean getDVP()
{
    return isDVP;
}
public void setDVP(Boolean DVP)
{
    isDVP = DVP;
}

从上面我们可以看到,当我们给JavaBean的布尔类型的属性变量命名为isXXX时,利用idea给我们生成的getter和setter方法它们并不是属性名再加上set或者get。而我们的框架在序列化时,一般都是直接利用getter方法的方法名去掉get(boolean类型是去掉is)后的名字去匹配我们传入的变量名。如果这时,我们传入的变量名仍然是isXXX(上例的话是isTest),那么框架在序列化时,就不能配到值。如下所示:

<bean id = "student"
class = "com.smart.domain.Student"
lazy - init = "true" >
    <!-- 以下的属性值通过com.smart.domain.Student中的setter方法注入,其中<property>标签中的
     name属性的名字要与Student类中的setter方法去掉set后的名字相同,如setXXX(),则,name="XXX"。
     这里的name并不是和我们Student类中相应的属性变量名相同 -->
<property name="isTest">    // 在idea中此处的"isTest"变量会飘红,正确的写法应该是 name="test"
<value>true</value>
</property>
<property name="Aaaa">
<value>1111</value>
</property>
<property name="isDVP">  // 这里也会飘红。
<value>dvp</value>
</property>
</bean>

所以一般不推荐给布尔类型变量命名为isXXX。

JavaBean属性的命名规范:

对于常规属性,如,userName, 属性名称的第一个单词小写且字母个数大于1,第二个单词首字母大写 。对应的getter/setter方法名为:get /set +(), 即属性名称的第一个单词的首字母改成大写, 前面再加上"get"或"set"前缀。如,setUserName()。

对于布尔类型, 可以按常规属性的规则编写getter/setter方法外, getter方法可以使用 is +()的形式来代替。这里不推荐用isXXX给布尔类型变量命名,而且最好使用封装类的布尔类型而不是基本类型。

对于非常规属性, 属性名称的第一个单词小写且字母个数等于1,第二个单词首字母大写 。对应的getter/setter方法名可以为:get/set+(), 即属性名称不变,第一个单词的首字母任然为小写,前面再加上"get"或"set"前缀。这种方式可以正常运行。

对于非常规属性, 属性名称的前两个字母都是大写 。即连续两个大写字母开头的属性名。 对应的getter/setter方法名为: get/set +(), 即属性名称不变,前面再加上"get"或"set"前缀。

总结:

1、JavaBean的属性命名规则尽量使用常规的驼峰命名规则。

2、属性名第一个单词尽量避免使用一个字母:如eBook, eMail。

3、布尔类型变量属性名避免使用 “is” 开头的名称。

4、在框架中一般都是利用JavaBean的setter和gette方法对属性进行处理,所以我们给JavaBean中的属性传值时,一定要注意传入值的变量名一定要和setter和getter方法名去掉set和get后的名字相同。

我们在使用的过程中,需要遵守这些规则,这样才能更好的使用JavaBean,毕竟对开发人员来说,JavaBean充分提高了代码的可重用性,对软件的可维护性和易维护性起到了积极作用。最后大家如果想要了解更多其他工具教程知识,敬请关注奇Q工具网。

推荐阅读:

java程序培训多少钱?java线上培训好还是线下好?

java写好的代码怎么保存?java如何创建项目?

java泛型方法如何使用?使用java泛型方法要注意哪些?