小任务:
1.实现一个银行业务系统
2.要求有如下的业务功能
登录
查询余额
存款
取款
转账
开户
销户
3.记录银行的用户信息
账号–密码–余额 BufferedReader readLine ObjectOutputStream
一、序列化版本
- 1.1 什么是序列化?什么是反序列化?
- 答:序列化是计算机内存中存储的信息,写入到磁盘的文件中。反序列化磁盘里文件中的信息,读入到计算机内存中。
- 1.2 为什么要进行固定化序列化版本?
- 答:内存中临时储存的信息与磁盘中存储的信息,常常需要读入和写出进行转换。如果运行的环境是在不同的java版本,或者其它不同环境下,可能会造成IO流传输转码解析错误。因此,需要用一个属性来对比,看前后信息的一致。如果属性值一样,说明是同一个运行环境,才能进行有效的读写信息。
1.1 类:实现序列化接口
1.2 ideal编辑器设置:自动生成序列化
1.3 类:鼠标光标放类名上面可看到序列化版本提示:点击自动固定生成。
二、银行系统
package atmsystem;
import java.io.Serializable;
/**
* @author liuxian
*/
public class User implements Serializable {
//建议除了私有属性 无参数有参数构造方法 属性对应的get、set方法
//建议类实现一个序列化接口 添加一个序列化版本号
private static final long serialVersionUID = 1406005760612010227L;
//只是为了记录数据库中的一行信息 账号 密码 余额
private String aname;
private String apassword;
private Float abalance;
public User(String aname, String apassword, Float abalance) {
this.aname = aname;
this.apassword = apassword;
this.abalance = abalance;
}
public User() {
}