图书介绍

BEGINNING Java OBJECTS从概念到代码 中文版PDF|Epub|txt|kindle电子书版本网盘下载

BEGINNING Java OBJECTS从概念到代码 中文版
  • (美)JACQUIE BARKER著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115154406
  • 出版时间:2007
  • 标注页数:701页
  • 文件大小:81MB
  • 文件页数:725页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

BEGINNING Java OBJECTS从概念到代码 中文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 对象基础2

第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 为什么选择Java10

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.4 基本类型22

2.3.3 JVM内幕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与println41

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.1 最简软件49

3.1.1 功能分解49

第3章 对象和类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.8 return语句76

4.2.7 特征可以按任何顺序声明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.2 例外2:内部的辅助方法112

4.13.1 例外1:内部的辅助属性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.9 继承真的是一种关系吗141

5.3.8 Object类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.2 集合组织其他对象的引用163

6.1.1 集合是由类定义的且必须实例化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 遍历ArrayList181

6.4.8 将ArrayList的内容复制到数组182

6.5 集合类HashMap183

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和方法3197

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

第二部分 对象建模基础256

第8章 对象建模过程概要256

8.1 对象建模的主要目标256

8.2 Jacquie建议的对象建模过程概要259

8.2.1 关于对象建模软件工具的考虑259

8.3 小结261

8.2.2 提醒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 表示“注册课程”用例的场景1311

11.2.2 表示“注册课程”用例的场景2312

11.3 顺序图313

11.4 用顺序图确定方法317

11.5 通信图318

11.6 修正后的SRS类图319

11.7 小结320

12.1 测试模型322

第12章 包装建模成果322

12.2 重新审查需求323

12.3 模型重用:关于设计模式的讨论324

12.4 小结326

第三部分 将对象蓝图转换为Java代码328

第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 操作String340

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.1 确定对象所属的类392

13.11 Object类的特征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

1 5.2 对象持久化的方法472

15.3 Java中基本的文件I/O474

15.3.1 读取文件474

15.3.2 写入文件476

15.3.3 文件I/O的异常处理478

15.4.2 两个新的集合封装类:CourseCatalog和Faculty480

15.4 填充主要的SRS集合480

15.4.1 ScheduleOfClasses集合480

15.4.3 从面向记录的数据文件初始化SRS集合482

15.4.4 持久化学生数据485

15.4.5 数据文件的读访问和写访问486

15.5 用Java的Properties类配置应用程序486

15.5.1 文件FileNames.properties487

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 用数据库访问改进SRS515

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 JFrame529

16.2.2 在屏幕上定位窗口531

16.2.3 在屏幕上明确地定位窗口532

16.2.4 把窗口定位在屏幕中间533

16.2.5 向JFrame添加组件535

16.2.6 JPanel536

16.2.7 通用组件属性和行为536

16.2.8 布局基础539

16.2.9 BorderLayout539

16.2.10 GridLayout543

16.2.11 FlowLayout547

16.2.12 JLabel548

16.2.13 JTextField与JPasswordField549

16.2.14 JButton551

16.2.15 JList552

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 合并监听器:利用ActionEvent571

16.6.6 关闭窗口572

16.6.7 适配器类与监听器接口574

16.6.8 从JList中选择一项577

16.7 更多容器类型582

16.7.1 JDialog583

16.7.2 用JOptionPane一步创建对话框587

16.8 可重用自定义组件588

16.9 小结590

第17章 SRS,第三部分:添加GUI592

17.1 SRS代码路线图592

17.2 准备操作概念594

17.3 MainFrame类598

17.3.1 设计MainFrame的“外观”:创造性地使用GridLayout598

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 什么是J2EE622

17.6.4 什么是servlet623

17.6.5 什么是JavaServer Page(JSP)624

17.6.6 J2EE,模型视图控制器风格626

17.6.7 N层体系结构628

17.6.8 什么是EJB629

17.6.9 打破J2EE神话630

17.6.10 本书讨论的知识与J2EE的关系631

17.7 回顾“工业强度”Java应用程序的体系结构632

17.8 小结634

18.1 Jacquie的“经过实践证明的”学好Java的方法635

第18章 下一步635

18.2 驯服科技浪潮636

18.3 其他推荐读物637

18.4 敬请指正638

第四部分 附录640

附录A 关于将本书作为教科书的建议640

附录B 可选的案例研究642

附录C 建立Java开发环境646

附录D 下载并编译本书的源代码658

附录E 对有经验的C++程序员的提示659

附录F 多态性的幕后工作原理(静态绑定与动态绑定)663

附录G J2SE 5.0以前的集合667

附录H 编程基础以及编译器的职责676

索引680

热门推荐