编写程序模拟个人银行账号类。考虑个人银行的特点,建立类(注意属性和方法的访问权限修饰符),示。要求有存款取款,查询,修改密码功能
时间: 2024-10-18 11:20:55 浏览: 36
我们可以创建一个名为`PersonalBankAccount`的Java类来模拟个人银行账户。该类将包含私有的属性如账户号码、余额、用户名以及密码,同时提供相应的公共方法以便进行操作。以下是基本的实现:
```java
public class PersonalBankAccount {
// 定义私有属性
private String accountNumber;
private double balance;
private String userName;
private String password; // 密码作为字符串存储,实际应用中应加密存储
// 构造函数,设置默认初始余额
public PersonalBankAccount(String accountNumber, String userName, String password) {
this.accountNumber = accountNumber;
this.balance = 0.0;
this.userName = userName;
this.password = password;
}
// 访问权限修饰符为private,因为它们是内部使用的
private void deposit(double amount) {
balance += amount;
System.out.println("存款成功,当前余额为:" + balance);
}
private void withdraw(double amount) {
if (balance >= amount) {
balance -= amount;
System.out.println("取款成功,当前余额为:" + balance);
} else {
System.out.println("余额不足,无法完成取款");
}
}
// 公共方法,用于显示账户信息
public void showAccountInfo() {
System.out.println("账户号:" + accountNumber);
System.out.println("用户名:" + userName);
System.out.println("当前余额:" + balance);
}
// 公共方法,修改密码,需要验证原密码
public boolean changePassword(String oldPassword, String newPassword) {
if (oldPassword.equals(this.password)) {
this.password = newPassword;
System.out.println("密码已成功更改为:" + newPassword);
return true;
} else {
System.out.println("旧密码错误,密码更改失败.");
return false;
}
}
// 需要注意,密码的实际验证过程会更复杂,这里仅为示例
// 实际应用中应使用安全的哈希和盐值技术
}
// 示例用法
try {
PersonalBankAccount account = new PersonalBankAccount("12345678", "Alice", "secret");
account.deposit(1000);
account.showAccountInfo();
account.changePassword("secret", "newPassword");
} catch (Exception e) {
e.printStackTrace();
}
```
在这个例子中,我们模拟了存款(deposit)、取款(withdraw)、查看账户信息(showAccountInfo)和修改密码(changePassword)等功能。
阅读全文