您好,欢迎光临有路网!
Java软件开发(第三版)
QQ咨询:
有路璐璐:

Java软件开发(第三版)

  • 作者:(英)温德尔(Winder R.) (英)罗伯茨(Roberts G.) 黄湘情 曹永存
  • 出版社:人民邮电出版社
  • ISBN:9787115174628
  • 出版日期:2008年07月01日
  • 页数:716
  • 定价:¥79.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书是专门为Java软件开发课程编写的教材,旨在帮助读者学习Java程序设计和软件开发。
    全书分为5个部分。第1部分(第1~10章)阐述了面向对象的Java语言和面向对象开发过程的基本概念和主要思想;第2部分(第11~14章)是有关程序设计的过程,介绍测试驱动开发的原理、过程、工具和技术,并说明是如何进行编程的;第3部分(第15~17章)给出了一些可以用于自学的案例,包括一些用来组织讨论会、扩展程序开发的项目基础内容。第4部分(第18~24章)是Java语言的自学指南和参考。附录部分提供了有关Java编程的一些有用参考资料。
    本书适合作为高等院校计算机专业Java语言课程教材,也可以供Java语言自学者阅读使用。
    文章节选
    第1部分 对象和类的编程
    第1章 简介
    目标:这一章主要介绍Java编程初学者需要用到的一些基本概念。
    关键字:抽象,趣���,术语,历史。
    1.1 引言
    正如书名所表达的含义一样,本书是关于Java程序设计的。假设读者已经有了一些基本的计算机知识,熟悉基本的操作,比如文字处理、网上冲浪,或者甚至会编写一些程序。但本书并不要求读者有面向对象程序设计的经验。面向对象(object.oriented)是一个技术术语,它是Java内含的一种程序设计方法,也是一个**的程序员所必须掌握的。本书就是一本讲解如何使用Java进行面向对象程序设计的教程。
    这一章首先给出一些阅读本书所需要的背景知识。在后续内容中,我们不仅会详细描述Java是什么,更重要的是教会您如何正确和**地使用Java。学习完本书后,读者应当可以编写一些复杂实用的程序了。编写本书的一个重要原因就是希望读者可以解决一些实际的问题,并且得出相当专业的结论。本书不是简单的JaVa语言初级教程,而是对面向对象编程方法之魅力的充分展示。
    对于编程新手,首先需要了解一些基本的术语。程序(program)(通常是长而复杂的)是计算机执行的一系列指令。这些指令说明计算机要做什么,究竟是用作文字处理、电子表格、玩游戏还是其他。程序员(programmer)的角色是使用一门程序设计语言(programming language)创建、编写一些程序,Java 是这样的程序设计语言之一。应用程序设计(application programming)或者开发,是为人们(*终用户)创建一些有实际用途的程序(应用程序)的过程。另一方面,系统程序设计(system programming)是从事编写、修改或者扩展操作系统(operating system)的活动。而操作系统是一个管理着计算机资源,并控制应用程序运行的复杂程序。
    如上所述,探讨程序设计和Java语言需要对大量的技术术语有所了解。在学习本书的过程中,如果您发现一些不理解的术语,请试着查看一下本书的术语表(见“附录A”)。
    1.2 Java简史
    20世纪90年代中期,Java**次引起了关注,许多人开始用它创建Web内容和小型应用程序(applet)。之前创建网页使用的都是HTML语言,但这种语言不能建立复杂网页。接下来的几年中,随着各种语言和工具(XML、XHTIVlL、XSL、CSS、Flash、audio和video流等)的出现,整个Web内容创建环境发生了巨大的变化。虽然早期的JaVa常被当作万维网、编程语言,不过它的用途变化很快,现在已成为服务器端Web应用程序(servlet)而不仅仅是浏览器端应用程序的**语言了。同时,Java正以各种方式广泛应用于嵌入式系统。按照惯例一直采用汇编语言或C语言编写嵌入式系统,但是Java的属性使它能够与这些语言共存(不是取代它们)。有意思的是,*初开发JaVa的目的就是在嵌入式系统中的应用,因此Java的使用又回到其初衷。
    注意:
    更为详细的Java发展史请参考Sun公司的Java网站http//java.sun.corn/。
    事实上,Java的故事是非常有趣的。我们现在所称的Java来源于一个叫做Oak的编程语言,20世纪90年代初期由Sun微系统公司(Sun Microsystems)的一个开发组设计而成(Oak的名称源于Sun的员工从办公室的窗口看到一棵大橡树而产生的灵感)。开发Oak的目的是用于消费者电器设备的嵌入式系统编程,特别是诸如交互式有线电视(Cable TV)的控制设备和电子家居(electr Dnic home)的管理系统等领域。这些应用需要新的用户接口,要求容易联网并且有一个支持系统开发的编程工具。
    实际上,可编程控制设备的消费市场并没有像预期的那样大规模地发展。然而,正如Intemet和Web被广泛使用一样,Oak的研究工作也在继续着。1994年初,为了适应Intemet的发展,Sun公司做出一个决定,把Oak改成基于Web应用的一门Intemet编程语言。原因是Oak包含了许多与Intemet相关的特性,包括“独立于平台的体系结构”,这意味着一些程序无需重新编写便可以运行在全世界各种不同类型的机器上。
    1995年1月,Oak更名为Java(因为Oak这个名字已经在其他地方作为商用),逐渐发展成一门适合于建立基于Web应用的高可靠性编程语言。1995年5月,Sun公司发布了第1版Java开发工具包(JaVa Development Kit,JDK),允许全世界的***通过Intemet下载和使用Java。一个称为HotJaVa的Web浏览器支持JDK,可以通过嵌入在网页中的小应用程序运行Java程序,这一特性也相继被Microsoft公司和Netscape公司支持。从那时开始,Java就成为了日益流行的语言,如今已经被众多的***和软件公司广泛采用。他们开发了更多更好用的开发工具和其他软件。
    1998年底,Java 2平台随Sun Java2 SDK标准版(J2SDK)一起发布。Sun公司增强了Java基本的J2SDK,增加了许多扩展环境的新特性,从而进一步发展了Java。这些特性的**是用新方法构建程序,包括使用类库(class library),或者应用程序接口(Application Programmer Interface,API)。API具备更加广泛的功能,从而可以节省程序员大量的时间。
    在2004年下半年,Sun公司发布了Java2平台的重要改进版本J2SE v5.0,其中包括泛型、注释和其他急需的特性。发布的同时,Sun公司还重新使用JDK——_J2SE开发工具包来表示已经实现的Java 2平台。Java这次变革引起了Java使用方式的巨大变化,特别是常用的使用和编写JaVa类库这种操作。而那些没有使用J2SE v5.0的书和程序都已经“过时”了,还可能导致Java用法错误。可以确信的是,本书中不会有Java的“过时”用法。
    Java演变的结果是它发展成为一个大范围的、通用的开发系统。Java还非常适合开发那些Web环境之外的大型应用程序。事实上,使用Java可以创建所有的应用程序,特别值得强调的是在网络和通信领域内的广泛应用。正如先前提到的那样,Java已经成为开发中间件(middl,eware)应用程序的非常成功的语言。这些中间件成为运行在网络上的分布式应用程序的核心组件。另外,Java也被许多大学视为程序设计的教学语言。而且,Java也广泛运用在许多嵌入式系统中,例如移动电话、机顶盒和其他消费产品,都使用Java 2平台的一种变体,称为Java 2平台的Micro版本(J2ME)。JaVa正如Oak*初提出。
    1.3 Java生逢其时
    Java*突出的一个特点,就是在如此短的时间里迅速成为一门非常流行的语言。因此有必要探究JaVa是怎样创造出如此多的奇迹的。
    Java并不是一种**的语言,但很重要的一点是,它几乎融合了编程语言和编程方法所有重要和**的思想。另外,也有其他一些因素促使Java获得了成功。
    ·它看起来像用户熟悉的其他一些流行的语言,如c、C++和Smalltalk。这种相似性避免了潜在用户把Java看作“很另类”的一门新语言,而认为不值得花时间去学它的问题。
    ·Web越来越流行,而Java与它是紧密相关的,这种关联给了.Java很大的优势。
    ·编程“**”喜欢它。**是新的编程语言的早期采用者,即使它们(指语言,而不是**)还不成熟,也有助于迅速传播语言信息。
    ·您可以免费获得!这是非常重要的,因为这样可以使潜在用户用*小的代价(至少直接在**方面)来**一种新的语言。
    更为有趣的是,关于一种新语言,以上列表显示的*重要特性是社会方面的——想到用它是因为它可以完成人们现在想做的事情。而技术方面的考虑却成了第二位。
    总而言之,Java语言拥有良好的特性(面向对象)和*好的价格(免费),在*恰当的地方(在Web上)诞生,又在*合适的时间(正好在Web逐渐流行时)出现。
    1.4 Java是什么
    Java是一个通用的标志,包括了Java编程语言、开发工具和环境,以及全部已成为标准的Java类库和API函数。很大程度上,所有这些元素都是不可分割的。所以学习Java就是学习以上所有的内容。有时,您见到的“Java编程系统”或“Java 2平台”这些名词强调的不仅仅指编程语言本身。
    Java是一种“面向对象的编程语言”。本章将解释面向对象的含义。现在我们需要认识到,一门编程语言是以纯文本格式编写程序的,面向对象的开发是设计和构建系统的现代方法,这一方法通过把面向对象的概念嵌入在编程语言当中得以充分体现。
    如今,面向对象的开发方法为解决软件开发过程中出现的严重问题,提供了广泛可行的和实际的解决方案。历史上真正成功的**的软件开发的确是凤毛麟角,于是面向对象就显得更加重要。其实这里可能还会存在一些误解。有许多已交付的软件没有被用起来、很多软件开发项目存在许多失败之处或者软件交付时间一再推迟而且质量很差等,但实际上还是存在许多非常好和非常可靠的软件。不要以为在您的软件开发过程中,采用了“面向对象”就可以魔术般地解决所有问题。我们能够教给您的是一个概念性的框架和软件开发的方法,而解决更多的问题需要以大量的实践经验为基础。本书的目的也是要把Java中包含的绝大多数知识和经验传授给您,*后就要看你能否努力和**地学习了。
    ……
    目录
    第1部分 对象和类的编程
    第1章 简介
    1.1 引言
    1.2 Java简史
    1.3 Java生逢其时
    1.4 Java是什么
    1.5 抽象:编程的重要核心
    1.6 Java 2平台
    1.7 Java的体系结构是平台无关的
    1.8 Java不是玩笑
    1.9 小结
    第2章 程序设计基础
    2.1 引言
    2.2 抽象和概要
    2.3 语句的顺序
    2.4 迭代
    2.4.1 Java的while语句和复合语句
    2.4.2 Java的do语句
    2.5 选择语句
    2.5.1 Java的if语句
    2.5.2 Java的break语句
    2.6 变量
    2.6.1 变量的命名
    2.6.2 赋值
    2.6.3 变量的类型
    2.6.4 初始化变量
    2.6.5 常数变量(命名常量)
    2.6.6 变量和类型检查
    2.6.7 变量的比较
    2.7 编写一个简单的Java程序(程序1)
    2.8 使用注释
    2.9 输出语句
    2.10 输入语句
    2.11 交互式程序
    2.11.1 程序2——基本的输入输出
    2.11.2 程序3——使用字符串
    2.11.3 程序4——使用表达式
    2.12 小结
    2.13 复习题
    2.14 练习题
    2.15 挑战题
    第3章 向程序中增加结构
    3.1 引言
    3.2 抽象和封装
    3.3 方法
    3.3.1 从方法返回值
    3.3.2 void方法和类型
    3.3.3 方法的参数
    3.3.4 多个方法参数
    3.3.5 递归
    3.4 如何在程序中使用方法
    3.4.1 例程:乘法表程序
    3.4.2 例程:回文程序
    3.5 过程分解
    3.6 封装
    3.6.1 作用域与生存期
    3.6.2 命名与作用域
    3.7 更多的运算符
    3.7.1 递增、递减和赋值运算符
    3.7.2 算术表达式和类型
    3.7.3 条件运算符
    3.8 更多的控制语句
    3.8.1 for循环语句
    3.8.2 switch语句
    3.9 更多的实例程序
    3.9.1 例程:字符三角形(CharacterTriangle)程序
    3.9.2 例程:字符矩形(CharacterRectangle)程序
    3.9.3 例程:二进制转十进制(ConverBinaryToDecimal)程序
    3.10 小结
    3.11 复习题
    3.12 练习题
    3.13 挑战题
    第4章 容器类介绍
    4.1 引言
    4.2 数组
    4.2.1 声明数组
    4.2.2 数组索引
    4.2.3 Foreach循环
    4.2.4 数组用作方法参数
    4.2.5 数组用作返回值
    4.2.6 求平均数(Mean)程序
    4.2.7 Array类
    4.2.8 多维数组
    4.2.9 数组初始化表达式
    4.2.10 AddUpColumns程序
    4.2.11 main方法的参数
    4.2.12 字符数组和字符串
    4.3 容器(Container)类
    4.3.1 ArrayList类
    4.3.2 容器类和基本类型
    4.3.3 Foreach循环
    4.3.4 修改Mean程序
    4.4 数据文件
    4.4.1 文本数据
    4.4.2 用FileInput类读取数据
    4.4.3 用FileOutput类写数据
    4.4.4 DisplayTextFile程序
    4.4.5 Copy程序
    4.4.6 WordCount程序
    4.5 小结
    4.6 复习题
    4.7 练习题
    4.8 挑战题
    第5章 画图
    5.1 引言
    5.2 绘图
    5.2.1 画一条线段
    5.2.2 画矩形、正方形、椭圆和圆
    5.2.3 其他的标准图形
    5.2.4 创建新的图形
    5.3 绘图的属性
    5.3.1 颜色
    5.3.2 线宽
    5.3.3 图形的填充
    5.4 绘制文本
    5.5 程序例程
    5.5.1 例程:棋盘程序
    5.5.2 例程:螺旋线程序
    5.5.3 例程:图形程序
    5.6 小结
    5.7 复习题
    5.8 练习题
    5.9 挑战题
    第6章 类和对象
    6.1 引言
    6.2 创建新的数据类型
    6.2.1 栈对象
    6.2.2 Stack类
    6.3 通用类
    6.4 方法的命名和作用域
    6.5 对象初始化
    6.5.1 实例变量的直接初始化
    6.5.2 构造函数(Constructor)
    6.5.3 实例初始化块
    6.5.4 多种方法如何选择
    6.6 对象和引用
    6.6.1 删除旧的对象
    6.6.2 对象、引用和基本类型
    6.6.3 对象与方法参数
    6.6.4 复制对象
    6.6.5 相等性和对象
    6.6.6 null
    6.6.7 this操作符
    6.7 静态变量和静态方法
    6.8 类的几个例子
    6.8.1 例程:Name类
    6.8.2 例程:Matrix类
    6.8.3 例程:Graph类
    6.9 用类和对象进行程序设计
    6.9.1 对象用来提供服务
    6.9.2 类与封装
    6.10 枚举类型
    6.11 示例——创建桥牌
    6.12 小结
    6.13 复习题
    6.14 练习题
    6.15 挑战题
    第7章 类关系详述
    7.1 引言
    7.2 关联
    7.2.1 对象所有权(OwnerShip)
    7.2.2 有效地使用关联
    7.3 继承
    7.3.1 使用继承
    7.3.2 protected
    7.3.3 继承和构造函数
    7.3.4 超类
    7.3.5 QueueT与DequeueT的实现示例
    7.3.6 静态变量和继承
    7.3.7 隐藏名称
    7.3.8 方法覆盖和动态绑定
    7.4 关联与继承之间的抉择
    7.5 继承的层次体系
    7.5.1 Object类
    7.5.2 抽象类
    7.6 接口和类型一致性
    7.6.1 可替换性、类型和一致性
    7.6.2 接口及其实现
    7.7 比较对象的相等性
    7.7.1 Class类和Instanceof运算符
    7.7.2 一个惯例
    7.8 嵌套(Nested)类
    7.9 包(package)
    7.10 例程:再次研究Matrix类
    7.11 可复用性与组件
    7.12 小结
    7.13 复习题
    7.14 练习题
    7.15 挑战题
    第8章 异常
    8.1 问题是什么
    8.2 错误的种类
    8.3 表示异常
    8.4 抛出异常
    8.5 捕获异常
    8.6 finally块
    8.7 使用异常的重要性
    8.8 例子
    8.8.1 带异常的ConvertBinaryToDecimal程序
    8.8.2 以更复杂方式编写的Copy程序
    8.8.3 重写WordCount程序
    8.8.4 带异常处理的Stack类型
    8.9 小结
    8.10 复习题
    8.11 练习题
    第9章 使用线程的并发
    9.1 一次做多件事情
    9.2 线程
    9.3 使用线程
    9.4 线程同步
    9.5 线程调度
    9.6 示例程序
    9.6.1 文本时钟
    9.6.2 共享队列
    9.6.3 网络应用程序
    9.7 小结
    9.8 复习题
    9.9 练习题
    第10章 用户界面
    10.1 引言
    10.1.1 可视化组件
    10.1.2 事件和事件驱动系统
    10.1.3 AWT和Swing
    10.2 核心的GUI概念
    10.2.1 例程:HelloGoodbye程序
    10.2.2 创建窗口
    10.2.3 创建Swing GUI组件
    10.2.4 容器和布局管理器
    10.2.5 布局管理器优点
    10.2.6 不同的布局管理器
    10.2.7 窗口显示
    10.2.8 处理事件
    10.2.9 运行和终止HelloGoodbye程序
    10.2.10 HelloGoodbye程序的总结
    10.3 使用GUI作为文本输入
    10.4 实例:一个非常简单的文本编辑器
    10.5 菜单
    10.6 绘图
    10.7 小结
    10.8 复习题
    10.9 练习题
    10.10 挑战题
    第2部分 程序设计过程
    第11章 程序设计过程
    11.1 引言
    11.1.1 面向对象的软件工程
    11.1.2 敏捷方法
    11.1.3 设计文档
    11.2 为什么要用面向对象方法
    11.2.1 一个比喻—路线计划
    11.2.2 问题域
    11.2.3 封装
    11.3 开始任务
    11.3.1 概览
    11.3.2 初始问题陈述
    11.3.3 使用故事收集用户需求
    11.3.4 功能需求和用例
    11.3.5 分析
    11.3.6 设计、实现和测试
    11.3.7 交付、部署和维护
    11.3.8 复审和迭代
    11.4 测试策略
    11.4.1 单元测试和功能测试
    11.4.2 验收测试
    11.4.3 调试
    11.5 UML类、对象和序列图
    11.5.1 类图
    11.5.2 包
    11.5.3 对象图
    11.5.4 序列图
    11.5.5 临时表示法
    11.6 实践和经验
    11.7 小结
    11.8 复习题
    11.9 练习题
    11.10 挑战题
    第12章 单元测试
    12.1 引言
    12.1.1 测试是什么
    12.1.2 到底为什么要测试呢
    12.2 单元测试—**个示例
    12.2.1 类及其测试
    12.2.2 测试是如何运行的
    12.3 单元测试的核心原则
    12.3.1 问题
    12.3.2 此代码不能够进行测试
    12.4 测试驱动的开发
    12.4.1 重构
    12.4.2 重复
    12.4.3 红色/绿色/重构
    12.4.4 按照规范进行测试
    12.5 TestNG框架
    12.5.1 测试循环
    12.5.2 TestNG测试类
    12.5.3 配置方法
    12.5.4 测试方法
    12.5.5 异常
    12.5.6 断言
    12.5.7 testng.xml文件
    12.6 扩展Person类
    12.6.1 重构
    12.6.2 无效日期
    12.6.3 日期验证
    12.6.4 类的状态
    12.6.5 现在在哪里呢
    12.7 小结
    12.8 复习题
    12.9 练习题
    12.10 挑战题
    第13章 测试驱动的程序设计策略
    13.1 引言
    13.2 **步—搜索文件
    13.2.1 真实文件与模拟文件
    13.2.2 使用真实文件
    13.2.3 到目前为止的回顾过程
    13.2.4 模拟
    13.2.5 完整的FileNameSearch类
    13.3 GUI
    13.3.1 GUI布局
    13.3.2 测试GUI布局
    13.3.3 GUI类
    13.3.4 创建GUI
    13.3.5 选择按钮
    13.3.6 模拟对象
    13.3.7 搜索按钮
    13.4 完整的搜索器
    13.5 小结
    13.6 复习题
    13.7 练习题
    13.8 挑战题
    第14章 编程工具
    14.1 引言
    14.2 项目结构
    14.2.1 src目录
    14.2.2 build目录
    14.2.3 lib目录
    14.2.4 doc和javadoc目录
    14.2.5 reports目录
    14.2.6 deploy目录
    14.2.7 保证文件**
    14.3 Ant-构建工具
    14.3.1 Ant概述
    14.3.2 项目元素
    14.3.3 属性
    14.3.4 path元素
    14.3.5 clean目标
    14.3.6 init目标
    14.3.7 compile.classes目标
    14.3.8 compile.tests目标
    14.3.9 test目标
    14.3.10 run目标
    14.3.11 javadoc目标
    14.3.12 deploy目标
    14.3.13 all目标
    14.3.14 使用构建文件
    14.4 版本控制
    14.4.1 CVS和Subversion
    14.4.2 Subversion系统信息库
    14.4.3 开始项目
    14.4.4 检验修订版
    14.4.5 更新、登记和冲突
    14.4.6 添加、删除和移动
    14.4.7 修订
    14.4.8 Status和Logs
    14.4.9 diff 394
    14.4.10 复制和分支
    14.4.11 进一步研究
    14.5 集成开发环境
    14.5.1 使用IDE
    14.5.2 IDE和项目
    14.5.3 GUI构建器
    14.5.4 调试器
    14.5.5 UML工具
    14.5.6 命令行工具
    14.5.7 项目Web站点
    14.6 小结
    14.7 复习题
    14.8 练习题
    14.9 挑战题
    第3部分 程序开发案例
    第15章 案例研究概述
    15.1 引言
    15.2 案例研究
    15.3 案例研究的介绍
    第16章 邮件合并系统
    16.1 引言
    16.2 简要介绍
    16.3 回顾——一些研究
    16.3.1 XML
    16.3.2 DOM和SAX
    16.3.3 JDOM和dom4j
    16.3.4 初始试验
    16.4 数据存储
    16.4.1 初始分析
    16.4.2 初始设计思想
    16.4.3 具体设计
    16.5 GUI设计
    16.5.1 初始需求分析
    16.5.2 GUI的体系结构和设计
    16.6 显示邮件合并列表
    16.6.1 鼠标操作
    16.6.2 显示邮件合并细节
    16.7 菜单和操作
    16.8 更多操作
    16.9 练习题
    16.10 挑战题
    第17章 行人交叉路口模拟
    17.1 引言
    17.2 *初的问题定义
    17.3 *初的思考
    17.3.1 交通灯
    17.3.2 车辆指挥灯
    17.3.3 行人指挥灯
    17.4 首轮设计
    17.5 获得GUI
    17.6 GUI设计
    17.7 控制中的问题
    17.8 进一步设计
    17.9 小结
    17.10 练习题
    17.11 挑战题
    第4部分 Java编程语言详述
    第18章 Java语言参考
    18.1 引言
    18.2 语法和语义
    18.3 基本描述
    18.4 示例程序
    18.5 小结
    第19章 变量、类型和表达式
    19.1 引言
    19.2 注释
    19.2.1 目的
    19.2.2 概述
    19.2.3 语法
    19.2.4 描述
    19.2.5 例子
    19.3 标识符
    19.3.1 目的
    19.3.2 概述
    19.3.3 描述
    19.3.4 例子
    19.4 Unicode转义符
    19.4.1 目的
    19.4.2 概述
    19.4.3 描述
    19.4.4 例子
    19.5 字面量
    19.5.1 目的
    19.5.2 概述
    19.5.3 描述
    19.5.4 例子
    19.6 类型
    19.6.1 基本类型
    19.6.2 引用类型
    19.6.3 自动类型转换
    19.7 作用域
    19.7.1 目的
    19.7.2 概述
    19.7.3 描述
    19.7.4 例子
    19.8 变量
    19.8.1 变量声明
    19.8.2 变量初始化
    19.8.3 数组变量
    19.9 表达式和运算符
    19.9.1 基本表达式
    19.9.2 运算符
    19.10 源文件
    19.11 小结
    19.12 复习题
    19.13 练习题
    第20章 程序流程控制
    20.1 引言
    20.2 选择
    20.2.1 if语句
    20.2.2 switch语句
    20.3 迭代
    20.3.1 while循环语句
    20.3.2 do循环语句
    20.3.3 for循环语句
    20.3.4 循环行为检验
    20.3.5 foreach循环语句
    20.4 跳转语句
    20.4.1 break语句
    20.4.2 continue语句
    20.4.3 return语句
    20.5 递归
    20.6 小结
    20.7 复习题
    20.8 练习题
    第21章 类和包
    21.1 引言
    21.2 类
    21.2.1 类声明
    21.2.2 public、private和protected
    21.2.3 实例变量
    21.2.4 实例初始化器
    21.2.5 静态变量或类变量
    21.2.6 静态初始化器
    21.2.7 方法
    21.2.8 静态方法或类方法
    21.2.9 构造函数
    21.2.10 关键字this
    21.3 顶层类
    21.3.1 目的
    21.3.2 概述
    21.3.3 语法
    21.3.4 描述
    21.4 嵌套类
    21.4.1 顶层嵌套类
    21.4.2 成员类
    21.4.3 局部类
    21.4.4 匿名类
    21.5 枚举类型
    21.5.1 目的
    21.5.2 概述
    21.5.3 语法
    21.5.4 描述
    21.5.5 例子
    21.6 包
    21.6.1 目的
    21.6.2 概述
    21.6.3 语法
    21.6.4 描述
    21.6.5 例子
    21.7 静态加载
    21.7.1 目的
    21.7.2 概述
    21.7.3 语法
    21.7.4 描述
    21.7.5 例子
    21.8 小结
    21.9 复习题
    21.10 练习题
    第22章 继承和接口
    22.1 引言
    22.2 继承
    22.2.1 继承的概念
    22.2.2 关键字private和protected与继承性
    22.2.3 Final类
    22.2.4 方法覆盖(Overriding)
    22.2.5 Final方法
    22.2.6 方法调用表达式
    22.2.7 修改后的成员类名字查找
    22.2.8 构造函数与继承
    22.2.9 超类(Super)和隐含命名
    22.2.10 抽象(Abstract)类
    22.2.11 抽象(Abstract)方法
    22.2.12 从类对象继承的方法
    22.3 接口
    22.3.1 接口声明
    22.3.2 实现
    22.4 注释(Annotation)
    22.4.1 目的
    22.4.2 概述
    22.4.3 语法
    22.4.4 描述
    22.4.5 例子
    22.5 小结
    22.6 复习题
    22.7 练习题
    第23章 异常处理
    23.1 引言
    23.1.1 异常类
    23.1.2 Try、Catch与Finally
    23.1.3 异常的传递
    23.1.4 抛出(Throws)异常声明
    23.1.5 关键字throw
    23.2 小结
    23.3 复习题
    第24章 线程与并发
    24.1 引言
    24.2 Thread类
    24.2.1 目的
    24.2.2 概述
    24.2.3 语法
    24.2.4 描述
    24.2.5 例子
    24.3 同步方法
    24.3.1 目的
    24.3.2 概述
    24.3.3 语法
    24.3.4 描述
    24.3.5 例子
    24.4 同步语句
    24.4.1 目的
    24.4.2 概述
    24.4.3 语法
    24.4.4 描述
    24.4.5 例子
    24.5 小结
    24.6 复习题
    24.7 练习题
    第5部分 附录
    附录A 术语表
    附录B CRC方法
    B.1 引言
    B.2 基本概念
    B.3 CRC卡片
    B.4 CRC方法过程
    B.5 一些问题
    B.6 文档
    B.7 设计
    附录C 在线文档
    附录D 运行Java程序
    D.1 从这里开始
    D.2 编译和运行Java程序
    D.3 使用Input、FileInput和FileOutput类
    D.4 使用DrawFrame和DrawPanel类
    D.5 使用CLASSPATH
    附录E Input类
    附录F FileInput类
    附录G FileOutput类
    附录H DrawFrame类
    附录I DrawPanel类
    附录J 参考文献
    J.1 特性和Java使用
    J.2 单元测试和重构
    J.3 面向对象分析、设计和编程
    J.4 通用程序设计
    J.5 算法和数据结构
    J.6 并发和线程
    J.7 工具
    J.8 人机交互
    编辑推荐语
    本书是《Java软件开发》的*新版本,全面介绍使用编程语言、Java 5进行面向对象的设计和程序开发等内容。本书带领读者从Java 5的基本用法开始,学习创建完整的面向对象的程序。按照“尽早认识对象”的方法,本书覆盖了Java语言的核心内容,包括使用新增的特性,如泛型。
    本书的**是鼓励读者合理创建和使用类,并说明运用什么策略来创建**的代码。通过学习本书,您会了解Java程序的工作方式,以及如何以组织和系统的方式设计并实现Java程序。此外,本书还给出了管理Java编程项目的方法,介绍了Ant构建工具和Subverslorl版本控制系统。
    测试一直是《Java软件开发》中的重要部分。本书提供新的章节以详细介绍测试驱动开发(TDD)。这种编程方法对程序编写的要求更加严格,强调从一开始就要编写高质量的测试和被测试代码。书中用一系列的案例研究说明了TDD的工作方式,特别是测试代码的策略。
    本书反映了Java编程语言的*新变化,再次讨论了程序设计的**个过程,非常适合用于教学或自学。书中有许多启发性的例子和大型的案例研究,说明如何在创建实际的应用程序时应用编程的核心思想,以及如何有效地使用面向对象的方法创建出健壮、可靠的和经过充分测试的应用程序。

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外