创建一个简单的银行程序包
练习目标-Java 语言中面向对象的封装性及构造器的使用。
任务
在这个练习里,创建一个简单版本的(账户类)Account类。将这个源文件放入banking程序包中。在创建单个帐户的默认程序包中,已编写了一个测试程序TestBanking。这个测试程序初始化帐户余额,并可执行几种简单的事物处理。最后,该测试程序显示该帐户的最终余额。
1. 创建banking 包
2. 在banking 包下创建Account类。该类必须实现上述UML框图中的模型。
- 声明一个私有对象属性:balance,这个属性保留了银行帐户的当前(或即时)余额。
- 声明一个带有一个参数(init_balance)的公有构造器,这个参数为balance属性赋值。
- 声明一个公有方法getBalance,该方法用于获取经常余额。
- 声明一个公有方法deposit,该方法向当前余额增加金额。
- 声明一个公有方法withdraw从当前余额中减去金额。
3. 编译TestBanking.java文件。
4. 运行TestBanking类。可以看到下列输出结果:
Creating an account with a 500.00 balance
Withdraw 150.00
Deposit 22.50
Withdraw 47.62
The account has a balance of 324.88
package banking; public class Account { //成员属性 private double balance ;//余额 // 无参构造 public Account() { } // 有参构造 public Account(double balance) { this.balance = balance; } // set get public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } //成员方法--存款 public double deposit( double amt ) { if(amt<0) { System.out.println("您的存款金额不能小于0"); } return balance += amt ; } //成员方法--取款 public double withdraw( double amt ) { if(amt<0) { System.out.println("您的取款金额不能小于0"); } if(amt>balance) { System.out.println("您的取款金额不能大于您的存款金额"); } return balance -= amt ; } public boolean withdraw1( double amt ) { if(amt>0&&amttrue) { balance -= amt ; System.out.print("Withdraw " + amt+" : "); return true ; } else { System.out.print("Withdraw " + amt+" : "); return false ; } } public boolean deposit1( double amt ) { if(amt<0) { System.out.print("Deposit " + amt+" : " ); return false ; } else { balance += amt ; System.out.print("Deposit " + amt +" : "); return true ; } } }
package banking; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class TestBanking { public static void main(String[] args) { //实例化账户 Account at = new Account(500) ; System.out.println("Creating an account with a "+at.getBalance( ) +" balance") ; System.out.println("Withdraw "+(at.getBalance( ) -at.withdraw(150) )); double x=at.getBalance( ); System.out.println("Deposit "+(at.deposit(22.5)-x)) ; System.out.println("Withdraw "+(at.getBalance( ) -at.withdraw(47.62) )); System.out.println("The account has a balance of "+at.getBalance()) ; System.out.println("————————————————————————"); System.out.println("————————————————————————"); } }