先来看一个javabean例子
public class Student {
//姓名
private String name;
//年龄
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "姓名:" + name + "年龄:" + age;
}
@Override
public boolean equals(Object obj) {
Student s = (Student)obj;
if ( this.name.equals(s.getName()) ) {
return true;
}else {
return false;
}
}
}
这个类中有什么特点?
- 私有属性
- 公有方法
还有什么?
属性不能直接给外部访问,而是通过set和get方法来访问的。
那么还有什么?
好像没了!
javabean的标准阐述如下
javabean是一种Java类实现的规范,其规范如下
- 这个类必须具有一个公共的(public)无参构造函数
- 所有属性私有化(private)
- 私有化的属性必须通过public类型的方法(getter和setter)暴露给其他程序,并且方法的命名也必须遵循一定的命名规范
- 这个类应是可序列化的。(比如可以实现Serializable 接口,用于实现bean的持久性)
为什么要javabean?
JavaBean在Java EE开发中,通常用于封装数据,对于遵循以上写法的JavaBean组件,其它程序可以通过反射技术实例化JavaBean对象(内省机制),并且通过反射那些遵循命名规范的方法,从而获知JavaBean的属性,进而调用其属性保存数据。因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。(可以这么理解,POJO按JavaBean的规则来,就可以变成JavaBean)。简而言之,当一个POJO可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。
版权声明:本文为weixin_30809083原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。