版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/80161007
相信大家在做项目的时候经常会见到 POJO 与 JavaBean 这两个关键词,有很多朋友和我说它俩没啥区别,都代表实体,用哪个都行。一向爱刨根问底的我始终不相信它俩是没区别的,如果没区别干嘛还发明两个词呢?但凡有两个,就肯定会有些细微的差别。果真如此,在我查阅了一些相关资料后,发现他俩的区别还是蛮大的,今天就来分享给大家! 若有不妥之处,还望大家指出,谢谢!~
类似的帖子或文章也有很多,但是我发现一个奇怪的现象,大家在讲解一些概念性的东西时,都习惯用专业术语去解释,搞的很多新手们抓耳挠腮不明白是什么意思,我认为对于新手来说越专业的讲解其实越难懂!为了让初学者能够更好的理解 POJO 与 JavaBean 的区别,今天我就用大白话为大家讲解 POJO 与 JavaBean。
POJO 就好比是一个普通自行车,而 JavaBean 就好比是一个电动自行车(特殊的自行车)。普通自行车拥有轮子,而电动自行车也有轮子,但是电动自行车有了电瓶,才能称为是电动自行车。它俩的区别就在于本质上的不同,一个带电瓶,一个不带电瓶,虽然它俩都可以表示为自行车,但因为本质上的不同,带电的能称为是电动自行车,而不带电的只能称为普通自行车。在 Java 中,POJO 是一个普通的 Java对象,而 JavaBean 却是一个特殊的 Java对象,这个特殊的 Java对象具有一定的标准才能称为 JavaBean。下面我们就结合 Java 近距离看 POJO 与 JavaBean。
POJO 是 Plain Ordinary Java Object 的缩写,意思是 简单普通的 Java对象,它的特征是:
1、拥有一些 private修饰的属性;
2、这些 private修饰的属性都提供 get…()&set…() 方法。
我们把这样的类称为 POJO类,POJO类 实例化出来的对象称为 POJO对象。下面是一个 POJO类的例子:
// 自行车
public class Bike {
private String wheel; // 轮子
// set...() & get...()
public String getWheel() {
return wheel;
}
public void setWheel(String wheel) {
this.wheel = wheel;
}
}
JavaBean 从字面上来看,它有咖啡豆的含义,关于 Java 这个名字由来的故事相信大家都听说过,它的名字是和印度尼西亚爪哇岛上爪哇咖啡有关,在 Java中也有很多类和方法的名字都和咖啡有着密不可分的联系,就连 JavaBean 也有咖啡豆的含义,寓意着它是 Java中重要的组成部分,它也必须符合一些特定的标准才可称为 JavaBean,它的特征是:
1、所有的属性都被 private修饰;
2、这个类必须有一个无参构造器;
3、所有的属性必须都提供 get…()&set…() 方法;
4、这个类必须是可序列化的,实现 serializable 接口。
我们把符合这样特征的类称为 JavaBean类,JavaBean类 实例化出来的对象称为 JavaBean对象。下面是一个 JavaBean类的例子:
// 电动车
public class Ebike implements serializable {
private String wheel; // 轮子
// 无参构造器
public Ebike() {}
// set...() & get...()
public String getWheel() {
return wheel;
}
public void setWheel(String wheel) {
this.wheel = wheel;
}
}