您好,欢迎光临有路网!
Beginning Java Objects中文版从概念到代码-(第2版)
QQ咨询:
有路璐璐:

Beginning Java Objects中文版从概念到代码-(第2版)

  • 作者:巴克
  • 出版社:人民邮电出版社
  • ISBN:9787115154408
  • 出版日期:2007年01月01日
  • 页数:723
  • 定价:¥78.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

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

    图书详情

    内容提要
    本书是关于软件对象和Java的,但并不是纯粹地介绍Java语言,而是强调如何从对象模型转换到功能完整的Java应用程序。书中讲述了对象基础、对象建模和模型的实现。本书除了用学生注册系统(SRS)示例贯穿全书之外,还在附录中给出三个附加的案例,这些案例是每章结尾给出的诸多练习的基础。
    本书适合作为高等院校计算机专业“面向对象程序设计”、“面向对象方法”或“Java语言”课程的教材,也适合作为公司的培训课程的教程。
    目录
    **部分 对象基础
    第1章 抽象和建模 2
    1.1 通过抽象来简化 2
    1.2 通过抽象来概括 3
    1.2.1 将抽象组织成类层次结构 3
    1.2.2 将抽象作为软件开发的基础 6
    1.3 抽象的重用 6
    1.4 固有的问题 7
    1.5 小结 9
    第2章 Java基础 10
    2.1 为什么选择Java 10
    2.1.1 Java是体系结构中立的 10
    2.1.2 Java提供“一站式服务” 13
    2.1.3 Java是完全面向对象的 15
    2.1.4 实践使Java更** 16
    2.1.5 Java是一种开放标准 16
    2.1.6 Java是免费的 16
    2.1.7 关于伪代码和真正Java代码的提醒 16
    2.2 简单Java程序剖析 17
    2.2.1 注释 17
    2.2.2 类声明 18
    2.2.3 main方法 19
    2.3 Java的“机制” 19
    2.3.1 把Java源代码编译成字节码 21
    2.3.2 执行字节码 21
    2.3.3 JVM内幕 22
    2.4 基本类型 22
    2.5 变量 23
    2.6 变量初始化 25
    2.7 String类型 25
    2.8 大小写敏感 26
    2.9 Java表达式 27
    2.9.1 算术运算符 27
    2.9.2 关系和逻辑运算符 28
    2.9.3 表达式求值和运算符优先级 29
    2.9.4 表达式类型 30
    2.10 自动类型转换和显式转型 30
    2.11 循环和其他流程控制结构 32
    2.11.1 if语句 32
    2.11.2 switch语句 34
    2.11.3 for语句 35
    2.11.4 while语句 37
    2.11.5 跳转语句 38
    2.12 块结构语言和变量作用域 39
    2.13 打印到屏幕 40
    2.13.1 print与println 41
    2.13.2 转义序列 42
    2.14 Java风格要素 43
    2.14.1 适当使用缩进 43
    2.14.2 明智地使用注释 46
    2.14.3 大括号位置 46
    2.14.4 描述性的变量名称 47
    2.15 小结 47
    第3章 对象和类 49
    3.1 *简软件 49
    3.1.1 功能分解 49
    3.1.2 面向对象方法 51
    3.2 对象是什么 51
    3.2.1 状态/数据/属性 52
    3.2.2 行为/操作/方法 53
    3.3 类是什么 53
    3.3.1 关于命名约定的提示 54
    3.3.2 Java风格的类声明 55
    3.4 实例化 56
    3.5 封装 57
    3.6 用户定义类型和引用变量 57
    3.7 实例化对象:近距离的审视 58
    3.8 对象作为属性 63
    3.8.1 一个编译计策:“框架”类 65
    3.8.2 合成 66
    3.8.3 引用作为属性的优点 68
    3.9 面向对象编程语言的三个典型特征 69
    3.10 小结 69
    第4章 对象交互 70
    4.1 事件驱动对象协作 70
    4.2 声明方法 71
    4.2.1 方法首部 72
    4.2.2 方法命名约定 72
    4.2.3 给方法传递实参 72
    4.2.4 方法返回值类型 74
    4.2.5 一个类比 74
    4.2.6 方法体 75
    4.2.7 特征可以按任何���序声明 76
    4.2.8 return语句 76
    4.3 用方法实现业务规则 79
    4.4 对象作为方法调用的环境 80
    4.4.1 回顾Java表达式 82
    4.4.2 捕获方法返回值 83
    4.4.3 方法签名 84
    4.4.4 选择描述性方法名 84
    4.5 方法重载 85
    4.6 对象间的消息传递 87
    4.7 委托 88
    4.8 获得对象句柄 88
    4.9 对象作为客户和供应者 91
    4.10 信息隐藏/可访问性 92
    4.10.1 公有可访问性 93
    4.10.2 私有可访问性 94
    4.10.3 公开服务 95
    4.10.4 回顾方法首部 96
    4.10.5 从类的方法内部访问类的特征 96
    4.11 从客户代码访问私有特征 99
    4.11.1 声明访问器方法 100
    4.11.2 **的“Get”/“Set”方法首部 101
    4.11.3 属性值的“持久性” 103
    4.11.4 在客户代码中使用访问器方法 103
    4.12 封装+信息隐藏的能力 104
    4.12.1 防止对封装数据的未授权访问 104
    4.12.2 有助于保证数据完整性 105
    4.12.3 当私有特征改变时限制“连锁反应” 106
    4.12.4 在类自己的方法内部使用访问器方法 108
    4.13 公有/私有准则的例外 111
    4.13.1 例外1:内部的辅助属性 112
    4.13.2 例外2:内部的辅助方法 112
    4.13.3 例外3:“只读”属性 113
    4.13.4 例外4:公有属性 114
    4.14 构造方法 114
    4.14.1 默认构造方法 114
    4.14.2 编写自己的显式构造方法 115
    4.14.3 给构造方法传递实参 116
    4.14.4 替换默认构造方法 117
    4.14.5 更精巧的构造方法 117
    4.14.6 重载构造方法 118
    4.14.7 关于默认构造方法的重要告诫 120
    4.14.8 使用“this”关键字促进构造方法重用 121
    4.15 回顾*简软件 124
    4.16 小结 125
    第5章 对象关系 127
    5.1 关联和连接 127
    5.1.1 多重性 129
    5.1.2 多重性和连接 130
    5.2 聚集和组合 131
    5.3 继承 132
    5.3.1 用新的抽象来响应多变的需求 132
    5.3.2 (不适当的)方法1:修改Student类 133
    5.3.3 (不适当的)方法2:“复制”Student类以创建新的Graduate-Student类 135
    5.3.4 (适当的)方法3:利用继承 136
    5.3.5 继承的“是一个”特性 137
    5.3.6 继承的优点 139
    5.3.7 类层次结构 140
    5.3.8 Object类 141
    5.3.9 继承真的是一种关系吗 141
    5.3.10 避免类层次结构中的“连锁反应” 142
    5.3.11 派生类的准则:可以做的 142
    5.3.12 覆盖 142
    5.3.13 重用超类行为:“super”关键字 145
    5.3.14 派生类的准则:不能做的 147
    5.3.15 私有特征和继承 149
    5.3.16 继承和构造方法 151
    5.3.17 关于多重继承 157
    5.4 回顾OOPL的三个典型特征 159
    5.5 小结 159
    第6章 对象集合 162
    6.1 什么是集合 162
    6.1.1 集合是由类定义的且必须实例化 163
    6.1.2 集合组织其他对象的引用 163
    6.1.3 集合被封装了 164
    6.2 三种一般集合类型 164
    6.2.1 有序链表 164
    6.2.2 字典 165
    6.2.3 集(Set) 166
    6.3 数组作为简单集合 167
    6.3.1 声明并实例化数组 167
    6.3.2 访问单个数组元素 168
    6.3.3 初始化数组内容 169
    6.3.4 操作对象数组 170
    6.4 一个更复杂的集合类型:ArrayList类 173
    6.4.1 使用ArrayList类:一个示例 173
    6.4.2 导入指令和包 174
    6.4.3 类的名字空间 176
    6.4.4 用户定义包和默认包 177
    6.4.5 泛型 178
    6.4.6 ArrayList的特征 179
    6.4.7 遍历ArrayList 181
    6.4.8 将ArrayList的内容复制到数组 182
    6.5 集合类HashMap 183
    6.6 TreeMap类 187
    6.7 同一对象可以同时被多个集合引用 189
    6.8 创造自己的集合类型 190
    6.8.1 方法1:从零开始设计一个新的集合类 190
    6.8.2 方法2:扩展一个预定义集合类(MyIntCollection) 190
    6.8.3 方法3:封装一个标准集合(MyIntCollection2) 194
    6.8.4 权衡方法2和方法3 197
    6.9 集合作为方法返回类型 198
    6.10 派生类型的集合 199
    6.11 回顾Student类的设计 200
    6.11.1 Student类的courseLoad属性 200
    6.11.2 Student类的transcript属性 201
    6.11.3 transcript属性,第二种表示方法 203
    6.11.4 完整的Student类数据结构 207
    6.12 小结 207
    第7章 其他对象概念 209
    7.1 多态 209
    7.2 面向对象编程语言的三种典型特征 215
    7.2.1 用户定义类型的优点 215
    7.2.2 继承的优点 216
    7.2.3 多态的优点 216
    7.3 抽象类 216
    7.3.1 实现抽象方法 219
    7.3.2 抽象类和实例化 220
    7.3.3 声明抽象类型的引用变量 221
    7.3.4 一个关于多态的有趣现象 222
    7.4 接口 223
    7.4.1 实现接口 225
    7.4.2 另一种形式的“是一个”关系 227
    7.4.3 接口和转型 228
    7.4.4 实现多个接口 230
    7.4.5 回顾接口和转型 232
    7.4.6 接口和实例化 233
    7.4.7 接口和多态 233
    7.4.8 接口的重要性 234
    7.5 静态特征 241
    7.5.1 静态变量 242
    7.5.2 一个设计改进:掩盖实现细节 245
    7.5.3 静态方法 246
    7.5.4 静态方法的限制 246
    7.5.5 回顾Print语句的语法 248
    7.5.6 实用类 248
    7.5.7 final关键字 248
    7.5.8 静态导入功能 251
    7.5.9 自定义实用类 252
    7.6 小结 253
    第二部分 对象建模基础
    第8章 对象建模过程概要 256
    8.1 对象建模的主要目标 256
    8.2 Jacquie建议的对象建模过程概要 259
    8.2.1 关于对象建模软件工具的考虑 259
    8.2.2 提醒 261
    8.3 小结 261
    第9章 通过用例形式化需求 262
    9.1 什么是用例 262
    9.1.1 功能需求与技术需求 262
    9.1.2 包含用户 263
    9.2 参与者 264
    9.2.1 识别参与者并确定其角色 264
    9.2.2 用图表示系统和参与者 265
    9.3 指定用例 266
    9.4 匹配用例和参与者 267
    9.5 是否用图来表示用例 268
    9.6 小结 269
    第10章 对系统的静态/数据特征建模 270
    10.1 识别恰当的类 270
    10.1.1 名词短语分析 271
    10.1.2 精炼候选类列表 274
    10.1.3 重新审查用例 277
    10.2 产生数据字典 278
    10.3 确定类关联 279
    10.4 识别属性 281
    10.5 UML表示法:对抽象的静态特征建模 281
    10.5.1 类、属性和操作 282
    10.5.2 类之间的关系 283
    10.5.3 反映多重性 287
    10.6 对象图 289
    10.7 关联作为属性 290
    10.8 信息沿着关联“管道”“流动” 291
    10.9 “混合与匹配”关系表示法 295
    10.10 关联类 297
    10.11 “完整的”学生注册系统类图 299
    10.12 元数据 303
    10.13 小结 304
    第11章 对系统的动态/行为特征建模 306
    11.1 行为如何影响状态 306
    11.2 场景 310
    11.2.1 表示“注册课程”用例的场景1 311
    11.2.2 表示“注册课程”用例的场景2 312
    11.3 顺序图 313
    11.4 用顺序图确定方法 317
    11.5 通信图 318
    11.6 修正后的SRS类图 319
    11.7 小结 320
    第12章 包装建模成果 322
    12.1 测试模型 322
    12.2 重新审查需求 323
    12.3 模型重用:关于设计模式的讨论 324
    12.4 小结 326
    第三部分 将对象蓝图转换为Java代码
    第13章 完善Java知识 328
    13.1 Java特定的术语 328
    13.2 Java应用程序架构 331
    13.3 Java归档文件(JAR) 332
    13.3.1 创建JAR文件 333
    13.3.2 检查JAR文件的内容 333
    13.3.3 使用JAR文件内包含的字节码 334
    13.3.4 从JAR文件中提取内容 334
    13.3.5 “打包”整个目录结构 335
    13.4 Java文档注释 336
    13.5 String的对象特性 340
    13.5.1 操作String 340
    13.5.2 String是不可改变的 342
    13.5.3 StringBuffer类 344
    13.5.4 StringTokenizer类 345
    13.5.5 实例化String和String常量池 347
    13.5.6 测试String是否相等 349
    13.6 消息链 350
    13.7 用“this”关键字引用对象自己 351
    13.8 Java异常处理 353
    13.8.1 异常处理机制 354
    13.8.2 捕获异常 361
    13.8.3 解释异常栈跟踪 365
    13.8.4 异常类层次结构 366
    13.8.5 捕获通用Exception类型 368
    13.8.6 编译器强制异常处理 369
    13.8.7 利用“捕获”的异常 370
    13.8.8 嵌套try/catch块 371
    13.8.9 用户定义异常类型 372
    13.8.10 抛出多个异常类型 374
    13.9 枚举 375
    13.10 给命令行驱动的程序提供输入 382
    13.10.1 接受命令行参数:agrs数组 382
    13.10.2 引入自定义命令行标志来控制程序行为 383
    13.10.3 为输入转换使用包装类 387
    13.10.4 接受键盘输入 389
    13.11 Object类的特征 392
    13.11.1 确定对象所属的类 392
    13.11.2 测试对象是否相等 394
    13.11.3 覆盖equals方法 397
    13.11.4 覆盖toString方法 399
    13.12 深度审视JVM内幕 401
    13.12.1 JVM的类加载器 401
    13.12.2 -verbose选项 402
    13.12.3 main(...)的静态特性 405
    13.12.4 回顾import指令 405
    13.12.5 静态初始化器 407
    13.13 Date类 409
    13.14 重新审查可访问性 413
    13.14.1 特征的默认可访问性 414
    13.14.2 公有类与非公有类 414
    13.14.3 回顾变量初始化 417
    13.15 内部类 419
    13.16 J2SE 5.0的附加改进 422
    13.16.1 格式化输出 422
    13.16.2 格式化输入 423
    13.16.3 可变参数 425
    13.17 小结 427
    第14章 将模型转换为Java代码 429
    14.1 关于充分利用本章和后续章节的建议 429
    14.2 SRS类图回顾 430
    14.2.1 Person类(定义抽象类) 431
    14.2.2 Student类(通过继承重用、扩展抽象类、委托) 433
    14.2.3 Professor类(双向关系) 440
    14.2.4 Course类(自反关系、单向关系) 441
    14.2.5 Section类(表示关联类、公有静态*终属性、枚举) 444
    14.2.6 回顾委托 451
    14.2.7 ScheduleOfClasses类 455
    14.2.8 TranscriptEntry关联类(静态方法) 456
    14.2.9 Transcript类 459
    14.2.10 SRS“驱动器”程序 460
    14.3 模型—视图分离与模型—数据层分离的重要性 468
    14.4 小结 469
    第15章 完善自己的应用程序,
    **部分:添加数据访问层 471
    15.1 即将到来的SRS增强的概述 472
    15.2 对象持久化的方法 472
    15.3 Java中基本的文件I/O 474
    15.3.1 读取文件 474
    15.3.2 写入文件 476
    15.3.3 文件I/O的异常处理 478
    15.4 填充主要的SRS集合 480
    15.4.1 ScheduleOfClasses集合 480
    15.4.2 两个新的集合封装类:CourseCatalog和Faculty 480
    15.4.3 从面向记录的数据文件初始化SRS集合 482
    15.4.4 持久化学生数据 485
    15.4.5 数据文件的读访问和写访问 486
    15.5 用Java的Properties类配置应用程序 486
    15.5.1 文件FileNames.properties 487
    15.5.2 访问系统属性 488
    15.6 为SRS定义自定义异常 490
    15.7 封装持久化细节 491
    15.7.1 引入SRSDataAccess类 491
    15.7.2 初始化ScheduleOfClasses集合 494
    15.7.3 初始化Faculty集合 496
    15.7.4 初始化CourseCatalog集合 499
    15.7.5 初始化学生状态 501
    15.7.6 持久化学生状态 503
    15.7.7 简化SRS“驱动器”类 504
    15.8 模型-数据访问层分离的重要性 511
    15.8.1 对象与数据库 512
    15.8.2 使用JDBC API:概念纵览 513
    15.8.3 用数据库访问改进SRS 515
    15.9 回顾对SRS的改进 518
    15.10 小结 519
    第16章 完善自己的应用程序,
    第二部分:添加表示层 521
    16.1 Java GUI 入门 522
    16.1.1 组件 522
    16.1.2 容器 522
    16.1.3 模型-视图分离 523
    16.1.4 AWT组件与Swing组件 525
    16.2 制作GUI视图/表示 528
    16.2.1 JFrame 529
    16.2.2 在屏幕上定位窗口 531
    16.2.3 在屏幕上明确地定位窗口 532
    16.2.4 把窗口定位在屏幕中间 533
    16.2.5 向JFrame添加组件 535
    16.2.6 JPanel 536
    16.2.7 通用组件属性和行为 536
    16.2.8 布局基础 539
    16.2.9 BorderLayout 539
    16.2.10 GridLayout 543
    16.2.11 FlowLayout 547
    16.2.12 JLabel 548
    16.2.13 JTextField与JPasswordField 549
    16.2.14 JButton 551
    16.2.15 JList 552
    16.3 简单的计算器示例 554
    16.4 改良的GUI应用程序体系结构 557
    16.5 其他值得探讨的AWT/Swing组件 561
    16.6 Java事件处理 562
    16.6.1 事件的基本概念 562
    16.6.2 基本事件类型 564
    16.6.3 创建并注册监听器 565
    16.6.4 给计算器程序添加行为 567
    16.6.5 合并监听器:利用ActionEvent 571
    16.6.6 关闭窗口 572
    16.6.7 适配器类与监听器接口 574
    16.6.8 从JList中选择一项 577
    16.7 更多容器类型 582
    16.7.1 JDialog 583
    16.7.2 用JOptionPane一步创建对话框 587
    16.8 可重用自定义组件 588
    16.9 小结 590
    第17章 SRS,第三部分:添加GUI 592
    17.1 SRS代码路线图 592
    17.2 准备操作概念 594
    17.3 MainFrame类 598
    17.3.1 设计MainFrame的“外观”:创造性地使用GridLayout 598
    17.3.2 编写MainFrame的“外观” 599
    17.3.3 给MainFrame添加行为 603
    17.4 PasswordPopup类:跨窗口/类共享信息 614
    17.5 SRS驱动器类,显著地简化 616
    17.6 J2EE概述 617
    17.6.1 桌面应用程序部署的不利方面 618
    17.6.2 Web部署的优势 618
    17.6.3 什么是J2EE 622
    17.6.4 什么是servlet 623
    17.6.5 什么是JavaServer Page(JSP) 624
    17.6.6 J2EE,模型视图控制器风格 626
    17.6.7 N层体系结构 628
    17.6.8 什么是EJB 629
    17.6.9 打破J2EE神话 630
    17.6.10 本书讨论的知识与J2EE的关系 631
    17.7 回顾“工业强度”Java应用程序的体系结构 632
    17.8 小结 634
    第18章 下一步 635
    18.1 Jacquie的“经过实践证明的”学好Java的方法 635
    18.2 驯服科技浪潮 636
    18.3 其他**读物 637
    18.4 敬请指正 638
    第四部分 附 录
    附录A 关于将本书作为教科书的建议 640
    附录B 可选的案例研究 642
    附录C 建立Java开发环境 646
    附录D 下载并编译本书的源代码 658
    附录E 对有经验的C++程序员的提示 659
    附录F 多态性的幕后工作原理(静态绑定
    与动态绑定) 663
    附录G J2SE 5.0以前的集合 667
    附录H 编程基础以及编译器的职责 676
    索引 680

    与描述相符

    100

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