基于上一个实验Banking_5 ,代码先全部复制过来.

笔记心得:

1.SavingAccount() 需要两种构造方法,接受单个参数和两个的
2.Account 有两个类型 SavingAccount 和 CheckingAccount ,每个人都有两个或一个 ,
setAccount(Account account,int id) ,id=1 表示设置前者, id=2表示设置后者. 3.在 public class CustomerReport{}中 ,首先调用static Bank : Bank bank=Bank.getBank();
然后遍历其中元素, 可能存在只有一个账户,所以需要特判一下:
if(customer.getSavingAccount()!=null) 和if(customer.getCheckingAccount()!=null) ,解决这个空内存 的异常!

 

实验要求:

  

实验目的: 
单例模式。 
 
 
提示: 
 1. 修改 Bank 类,创建名为 getBanking 的公有静态方法,它返回一个 Bank 类的实例。  2. 单个的实例应是静态属性,且为私有。同样,Bank 构造器也应该是私有的 
 
创建 CustomerReport 类 
 
1.在前面的银行项目练习中,“客户报告”嵌入在 TestBanking 应用程序的 main 方法中。在这个练习中,改代码被放在,banking.reports 包的
 CustomerReport 类中。您的任务是修改这个类,使其使用单一银行对象。  
 
2. 查找标注为注释块/***  ***/的代码行.修改该行以检索单子银行对象。 

 

文件工程组织: (基于上一个实验Banking_5 ,代码 先 全部复制过来,然后再具体改改.)

【Java 基础实验_Bank项目_06】单例模式(Static Bank) , 查询异常输出

 

具体代码:

  Bank.java   (构造器方法私有化,private static Bank bank=new Bank();)

package Banking_6;
    //要求使bank实现单例模式
public class Bank {
    private Customer[] customers ;   //用于存放客户
    private int numberofCustomers; //用于记录Customer的个数

    private Bank(){    ///构造器方法私有化
        numberofCustomers=0;
        customers = new Customer[100];  ///这里记得要初始化!不然要发生java.lang.NullPointerException
    }
    private static Bank bank=new Bank();
    public static Bank getBank(){
        return bank;
    }
    public void addCustomer(String f,String l){
        int i= this.numberofCustomers;
        customers[i]=new Customer(f,l);//新建一个构造对象
        this.numberofCustomers++;
    }
    public int getNumOfCustomers() {
        return numberofCustomers;
    }
    public Customer getCustomer(int index) {
        return customers[index];
    }
}
View Code

相关文章:

  • 2022-12-23
  • 2021-09-17
  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
  • 2021-07-07
  • 2022-01-26
  • 2021-10-28
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案