📄 account.java
字号:
package model;
import exception.BalanceNotEnoughException;
import java.io.*;
public abstract class Account implements java.io.Serializable{
//private static long sid=100000L;
private long id;
private String password;
private String name;
private String personId;
private String email;
private double balance;
public Account(){
}
public Account(String password, String name, String personId, String email) {
super();
this.id = this.getNextId();
this.password = password;
this.name = name;
this.personId = personId;
this.email = email;
}
/*
* 获得下一个可以分配的id
*/
private synchronized long getNextId(){
long sid;
try {
FileInputStream fis=new FileInputStream("config\\id.dat");
DataInputStream in=new DataInputStream(fis);
sid=in.readLong();
in.close();
}
catch(IOException e){
sid=100001L;
}
try{
FileOutputStream fos=new FileOutputStream("config\\id.dat");
DataOutputStream out=new DataOutputStream(fos);
out.writeLong(sid+1);
out.close();
}catch (IOException e) {
}
return sid;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPersonId() {
return personId;
}
public void setPersonId(String personId) {
this.personId = personId;
}
public final void deposit(double money){
this.balance+=money;
}
public abstract void withdraw(double money) throws BalanceNotEnoughException;
public boolean equals(Object o){
if (this==o) return true;
if (o==null) return false;
if (this.getClass()!=o.getClass()) return false;
Account c=(Account)o;
if (this.id==c.id && this.password.equals(c.password) && this.name.equals(c.name) && this.personId.equals(c.personId) && this.email.equals(c.email) && this.balance==c.balance)
return true;
else return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -