21.3    需求:P510用例模型(use case model):用例图(use case diagram).用例(use case).行为说明(behaviour specification).活动者(actor).角色(role).用例图用于记录系统中不同用户的角色,以及他们需要系统提供的服务.系统的用户被称为活动者,用户需要的服务被称为用例. 21.4    设计:P511    (-)private.    (+)public    组合(composition):实心菱形.   …
推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是基于循序渐进的方式写的,不会使读者看着看着就晕了. 就算有一些Java背景的,看看也会有帮助,能够把自学Java中留下的知识漏洞补齐. 全书分成两个部分,就是英文版说的大学生两个学期的教材,因此书中内容其实比较丰富,看完后再看其他层次的Java书,至少不会存在基础不懂的情况. 比如:<Java编程思想&…
这是在2013年的笔记整理.现在重新拿出来,放在网上,重新总结下. 两种基本的线程实现方式 以及中断 package thread; /** * * @author zjf * @create_time 2013-12-18 * @use测试基本的两种线程的实现方式 *         测试中断 */ public class BasicThreadTest { public static void main(String[] args) { Counter c1 = new Counter()…
七.队列 排队,先进先出. 除并发应用外Queue只有两个实现:LinkedList,PriorityQueue.他们的差异在于排序而非性能. 一些常用方法: 继承自Collection的方法: add 在尾部增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 element 返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementExc…
六.队列 排队,先进先出.除并发应用外Queue只有两个实现:LinkedList,PriorityQueue.他们的差异在于排序而非性能. 一些常用方法: 继承自Collection的方法: add 在尾部增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 element 返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementExce…
自测题:1.    图11-1的UML设计中各个类之间的关系.Hostel与TenantList是关联关系:TenantList和PaymentList与ObjectList是泛化关系.TenantList和PaymentList是ObjectList的子类:TenantList与Tenant是聚合关系:PaymentList与Payment是聚合关系:Tenant与PaymentList是关联关系. 注:不太明白什么时候描述关系,可能用来描述的还是业务上的关系. 2.    为什么开发一个通用…
本章就是上一章的延续,主要是用GUI实现了控制界面. 编程练习:代码附件Hostel.java1.    正确运行2.    Runhostel.java3.    searchButton…
自测题:1.    在图形应用程序中为用户提供选择的多种方式:P433下拉菜单(pull-down menu).弹出式菜单(pop-up menu).对话框窗口(dialogue window).单选按钮(radio button).组合框(combo box). 2.    使用JMenuBar类.JMenu类和JMenuItem类构建下拉菜单:创建一个菜单需要有三方面内容:顶端的菜单栏(menu bar).不同的菜单(menu)以及每个菜单都有各自的菜单项(menu item)列表.将菜单项…
本章主要关注的是Java的几个应用网络编程的场景,对于网络编程没有太多深入介绍,而Java本来也没有多少针对网络编程的特性.虽然Java有个Applet的概念,但是真用这个的开发的场景其实不多. 23.1    引言服务器(server)程序为其他客户端(client)程序提供某种类型的服务,与客户端程序通常位于不同的机器上.一个程序可以既是服务器程序也是客户端程序,主要是看它是在为其他程序服务,还是在使用其他程序的服务.甚至还可以整合其他服务器程序上的服务,打包成自己的服务,提供给客户端程序使…
本章主要介绍的是Java的背景知识,通过了解历史知道Java与其他语言的区别,以便更好选择在什么场景下使用Java. 24.2    语言的尺寸Java语言短小.紧凑,以C++为基础,放弃了一些特定的语言特征(指针和多继承)注:需要关注的是为什么放弃这两个特征,有没有替代方案,各自的优缺点. 24.2.1    指针(pointer)指针是一种变量,并且变量中包含了某个存储器地址.Java不允许使用指针,因为指针指向的是具体的物理地址,直接操纵物理地址中的数据,容易使程序出现不可预料的问题.Ja…