⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 account.java

📁 一个ATM银行模拟系统
💻 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 + -