下面的是源码,可以看一下,具体的UML类图和内存分析可以在公众号查看,寻找志同道合之人一起学习。
-
package bank2; //账户 public class Account { private double balance; public Account(double init_balance) {//带参构造器 balance=init_balance; } public double getBalance() { return balance; } //存钱 public void deposit(double amt) { balance+=amt; } //取钱 public void withdraw(double amt) { if(amt<balance) balance-=amt; else { System.out.println("余额不足"); } } } package bank2; public class Customer { private String firstName; private String lastName; private Account account;//将Account类定义为此类的成员变量 public Customer(String f, String l) { firstName = f; lastName = l; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public Account getAccount() { return account; } public void setAccount(Account acct) { account = acct; } } package testbank; import bank2.Account; import bank2.Customer; public class testbank2 { public static void main(String[] args) { Account account; Customer customer; account = new Account(500.00); System.out.println("创建了一个账户,额度为500元"); customer = new Customer("jane","smith"); System.out.println("创建了一个消费者:jane-smith"); //将account对象地址值传参给acct,acct又将其赋给成员变量account,后自己消亡 customer.setAccount(account);//消费者和账户建立起了对应关系 System.out.println("创建了一个消费者账户500元"); //存钱 customer.getAccount().deposit(150.00); System.out.println("我存了150元"); //取钱 customer.getAccount().withdraw(100.00); System.out.println("我取了100元"); System.out.println("我的账户还剩:"+customer.getAccount().getBalance()); } }