她们像豌豆一样,期待着被打开,看到外面的世界
童话世界中豌豆中装着的公主,一步一缓向你走来。虽然你很想一睹公主的真容,但是首先你还是要打开豌豆,就让我带着你看看Java世界中的这位公主吧!
豌豆夹,我发现你了
在我之前的文章中曾讲解过一部分Java基本概念,如包、Java文件、类、属性和方法,几者之间有包含关系。下面是示意图。
我在这里的演示,第一次将会创建包、Java文件、类,以后提及将省略此步骤。直接写内部的属性和方法,这样做的理由在于,创建包、Java、类实在是使用频繁,不可能每一次都将此步骤展示出来。
我将首先展示的是IEDA创建包、Java文件、类。我习惯一步创建这三项。你也可以一步步创建。
在任意文件夹上点击右键,会出现如下右键菜单,在New选项卡中有创建Java Class的文件选项。选择后输入包名与类名,就可以一次创建上述三项。需要注意的是,包名使用点符号.
分隔,包名和类名之间使用.
符号分隔,类名遵循大驼峰风格,首字母大写,之后每个单词首字母大写。
我们这里的这里将TestBean类作为示例提供。
豌豆夹,我要揭开看喽
想象一个豌豆夹,里面藏有几个羞涩的豌豆,像是下面这样。
// 省略package语句
public class TestBean {
private String name;
private String gender;
private String phone;
}
这里的private表示了豌豆的羞涩,她们要羞得躲起来。
这里的String表示了她们共同的生母,字符串母亲。
这里的name、gender和phone则是她们的芳名。
你不能打扰她们,她们十分害羞,也因为每天禁足家门,没有和外界接触的良好时机。
直到有一次,她们春心思动,选择出门,惊艳每个世人。
// 省略package语句
public class TestBean {
private String name;
private String gender;
private String phone;
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public String getPhone() {
return phone;
}
}
直到后来,她们嫁作人妇,走过了“将我之名,冠汝之姓”,一生平安。
// 省略package语句
public class TestBean {
private String name;
private String gender;
private String phone;
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public String getPhone() {
return phone;
}
public void setName(String name) {
this.name = name;
}
public void setGender(String gender) {
this.gender = gender;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
很多年过去了,诗人将她们写入诗中,融入文章,流传下来,直到今天我们还能了解她们的人生百态。
// 省略package语句
public class TestBean {
private String name;
private String gender;
private String phone;
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public String getPhone() {
return phone;
}
public void setName(String name) {
this.name = name;
}
public void setGender(String gender) {
this.gender = gender;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "TestBean{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
", phone='" + phone + '\'' +
'}';
}
}
后记
我不喜欢Java Bean的某些别称和变体,像是POJO,理解起来总是有些难度。我的习惯做法是用已知的东西类比未知的东西,因此才有了这篇文章,Java Bean 是Java的一种数据组织形式。从宏观来看,一段程序,是由数据和算法组成的。算法固然是重点,但并不代表可以忽视数据,尤其是数据的组织格式。
由于二维表格的普及,我们可能第一想到的是数据的行列,但是令人遗憾的是,这是可视化的做法,在代码编程中,你将看到的是扁平化的数据定义,硬生生的编码。没有一个表格来为你辅助。Java Bean如果用来类比的话,那么更像是表格的表头。
在以后的文章中,我还会介绍更多的数据的组织格式,我想将它们列举如下,如果你急切的想要了解这一切,可以不用等待我后续的文章,自行在网络上搜索。
数据组织形式 | 英文名 | 常见操作 |
---|---|---|
数组 | Array | 增加、删除、查找、更新、排序、逆序、动态扩容 |
链表 | LinkedNode | 增加、删除、查找、更新、排序、逆序 |
栈 | Stack | 压栈、出栈、查找顶元素 |
队列 | Queue | 入队、出队 |
树 | TreeNode | 增加、删除、查找、更新、排序、逆序 |
优先队列 | PriorityQueue | - |
堆 | Heap | - |
并查集 | ADT | - |
图 | Graph | - |