JavaBean规范
- JavaBean 类必须是一个公共类, 即将其访问属性设置为 public, 如: public class Student{…}
- JavaBean 类必须有一个空的构造函数: 类中必须有一个无参的public构造方法
- 一个JavaBean类不应有公共实例变量, 类变量都为private, 如: private int age;
- 属性应该由一组读写方法(getXxx 和 setXxx)来访问,一般是IDE(Eclipse、IntelliJ IDEA)为属性生成getter/setter 方法
JavaBean属性一般以小写字母开头, 使用驼峰命名格式. 相应的 getter/setter 方法是 get/set 接首字母大写的属性名. 例如: 属性名为age, 其对应的getter/setter 方法是 getAge/setAge.
一些特殊情况:
- 如果操作的字段为boolean类型, 此时不应该叫个getter方法, 而是is方法, 例如把getName变成isName.
- 如果属性名的第二个字母大写, 那么该属性名直接用作 getter/setter 方法中 get/set 的后部分, 就是说大小写不变. 例如属性名为sName,方法是getsName/setsName.
- 如果前两个字母是大写(专有名词和缩略词等), 这种情况属性名直接接在 getter/setter 方法中 get/set 的后部分. 例如属性名为URL, 方法是getURL/setURL.
- 如果首字母大写,也是属性名直接接在 getter/setter 方法中 get/set 的后部分. 例如属性名为Name, 方法是getName/setName, 这种情况会出问题, 会因为找不到属性而出错: 因为默认的属性名是name.
以上就是JavaBean命名规范。
下面给出一个范例:
/**
* Created by tgvincent on 2018/12/11.
*/
public class Student {
/**
* 年龄
*/
private int age;
/**
* 三好学生
*/
private boolean meritStudent;
/**
* 姓名
*/
private String name;
/**
* 学校名字
*/
private String school;
/**
* 性别
*/
private String gender;
/**
* 个人网站
*/
private String URL;
/**
* 父亲名字
*/
private String sFatherName;
/**
* 母亲名字
*/
private String sMother;
public Student() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isMeritStudent() {
return meritStudent;
}
public void setMeritStudent(boolean meritStudent) {
this.meritStudent = meritStudent;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getURL() {
return URL;
}
public void setURL(String URL) {
this.URL = URL;
}
public String getsFatherName() {
return sFatherName;
}
public void setsFatherName(String sFatherName) {
this.sFatherName = sFatherName;
}
public String getsMother() {
return sMother;
}
public void setsMother(String sMother) {
this.sMother = sMother;
}
}