步骤一:菜单类(Menu)步骤二:联系人类(Personlnfo)步骤三:电话本类(PhoneBook)步骤四:联系人列表类(PersonlnfoList)步骤五:电话本异常类(PhoneException)菜单类(Menu)的主要方法...

步骤一:菜单类(Menu)

步骤二:联系人类(Personlnfo)

步骤三:电话本类(PhoneBook)

步骤四:联系人列表类(PersonlnfoList)

步骤五:电话本异常类(PhoneException)

菜单类(Menu)的主要方法设计如下:

◆静态的getlnstance()方法用于返回Menu类型唯一的实例。

◆构造方法设计为私有的,从外部无法生成更多的Menu实例。

◆showMenus()方法用于显示菜单并接收用户的选择。

◆对toString()方法进行重写用于显示菜单。

联系人类(Personlnfo)主要方法:

◆通过字符串生成PersonInfo实例的方法,主要用于将从文件中读取的联系人数据字符串转换为Personlnfo类型的对象。

◆基本构造方法,通过姓名、移动电话、工作电话、家庭电话和工作地址等数据构造对象。

◆为了在文件中有效地进行保存,本类具有将数据转换为保存用字符串的方法。

◆读联系人序号的方法。

◆读联系人姓名的方法。

◆读/写移动电话、工作电话、家庭电话和工作地址等成员变量的方法。

电话本类(PhoneBook)主要方法:

◆基本构造方法获取菜单类实例和联系人列表类实例。

◆显示菜单方法获取用户输入的选项。

◆具有执行各选项的方法。

◆具有程序入口,即main(String[])方法。

联系人列表类(PersonlnfoList)主要方法:

◆静态的getlnstance()方法用于返回PersonlnfoList类型唯一的实例。

◆构造方法判断电话本文件是否存在,如果存在则初始化联系人列表信息,否则将创建文件。

◆初始化方法,在PersonlnfoList实例构造时仅调用一次,主要通过读取文件内容来初始化联系人列表信息。

◆添加联系人的方法。

◆删除联系人的方法。

◆查询联系人的方法。

电话本异常类(PhoneException)主要保存电话本操作时的各种异常,可以分为以下几种类型的异常:

◆由于循环接受用户的选择,因此系统退出这里也作为一个异常处理,用于跳出循环。

◆通过字符串生成联系人实例时发生的异常。

◆没有找到联系人时发生的异常。