当前位置:首页 > 工业技术
面向对象程序设计 Java语言描述
面向对象程序设计 Java语言描述

面向对象程序设计 Java语言描述PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美)Martin Kalin著;孙艳春等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:711110580X
  • 页数:477 页
图书介绍:本书全面地讲解了Java语言,内容从基本概念到高级主题(例如联网、多线程和数据库等)。本书有效地将Java语言与面向对象程序设计相结合,使读者能够较快地掌握面向对象系统的分析设计方法和培养编程实现的能力。书中给出的大量经过调试运行的实例,便于初学者入门,提高解决实际问题的能力。本书可作为高等学校计算机及相关专业程序设计课程的入门教材。
上一篇:锻工实用技术手册下一篇:泥心工
《面向对象程序设计 Java语言描述》目录

第1章 面向对象程序设计 1

1.1 面向对象程序设计和过程型程序设计 1

1.1.1 自顶向下设计和过程型程序设计 1

1.1.2 自顶向下设计的问题 2

1.1.3 类和对象 3

1.1.4 域和方法 4

1.1.5 实例与类成员 4

1.1.6 类的设计 5

1.1.7 类与对象的关系 5

1.2 类和抽象数据类型 6

1.2.1 信息隐藏 6

1.2.3 抽象数据类型 7

1.2.2 封装 7

1.3 客户/服务器模型和消息传递 9

1.3.1 客户/服务器模型 9

1.3.2 消息传递和方法调用 10

1.4 继承和多态 11

1.4.1 继承 11

1.4.2 多态 12

1.4.3 多态和递归 13

1.5 接口和组件 15

1.6 面向对象的建模和统一建模语言 18

1.6.1 示例模型 19

1.6.2 从统一建模语言模型到程序代码 21

第2章 入门程序 24

2.1 第一个程序 25

2.2 基本的编程结构 29

2.2.1 求最小整数和最大整数 30

2.2.2 import语句的便利之处 31

2.2.3 产生随机整数 32

2.2.4 while循环 32

2.2.5 if语句 33

2.2.6 编译和运行BigAndSmall程序 33

2.2.7 从一个磁盘文件读取输入 33

2.2.8 填充数组并对其排序 35

2.2.9 确保一个程序被正确地调用 36

2.2.10 构造、填充并排序一个数组 37

2.2.11 填充、打印并排序一个数组 37

2.2.12 把输出写入一个磁盘文件 38

2.2.13 为一个游戏确定最佳策略 40

2.2.14 for循环 43

2.2.15 绝对值和余数 44

2.3 字符串 46

2.3.1 toString方法 46

2.3.2 一个String类的测试客户程序 47

2.3.3 字符串的转换方法 49

2.3.4 包装类和类型转换 50

2.3.5 StringBuffer类 50

2.4 程序员定义的类 52

2.5 输入和输出 55

2.5.1 输入/输出流 55

2.5.3 二进制输入:统计一个文件的字节数 56

2.5.2 IOException 56

2.5.4 辨别字母和数字 57

2.5.5 把标准输入回送到标准输出 59

2.6 实用程序类 61

2.6.1 StringTokenizer类 62

2.6.2 Vector类 63

2.6.3 Hashtable类 64

2.7 Java补充材料 67

2.8 通常错误和安全实践 67

2.9 编程练习 68

3.1.2 应用程序 72

3.1.1 Java虚拟机 72

3.1 程序类型 72

第3章 程序和包 72

3.1.3 applet 73

3.1.4 servlet 73

3.1.5 bean 74

3.1.6 程序类型小结 74

3.2 回顾源文件和类文件 75

3.3 包 77

3.3.1 import语句 78

3.3.2 import语句的使用 79

3.3.3 包与命名冲突 80

3.3.4 默认包和命名的包 80

3.3.5 package语句 81

3.3.6 环境变量CLASSPATH 82

3.3.7 子目录作为子包 83

3.4 应用举例:产生非负整数 85

3.4.1 问题 85

3.4.2 输出 85

3.4.3 解决方法 86

3.4.4 Java实现 86

3.4.5 讨论 86

3.4.6 回顾构造函数和方法 87

3.4.7 编译并运行例子程序 88

3.5 通常错误和安全实践 89

3.6 编程练习 90

第4章 语言基础 96

4.1 标识符、变量和值 96

4.1.1 变量和值 97

4.1.2 域和默认值 98

4.1.3 对象引用的默认值null 99

4.1.4 局部变量 99

4.1.5 final变量 100

4.2 构造函数和方法 101

4.2.1 构造函数和方法重载 102

4.2.2 方法的语法 103

4.2.3 方法之间的区别 104

4.3 基本数据类型和运算符 105

4.3.1 整数类型 106

4.3.2 浮点类型 107

4.3.3 强制类型转换操作 108

4.3.4 算术运算符 109

4.3.6 赋值、增量和减量运算符 110

4.3.5 移位和位运算符 110

4.3.7 浮点数的算术运算符 111

4.3.8 char类型 111

4.3.9 char类型和整数类型混合使用的问题 112

4.3.10 对char类型的算术运算 112

4.3.11 字符串文字 113

4.3.12 boolean类型 113

4.3.13 关系运算符 114

4.3.14 关于等于运算符==的特别注释 115

4.3.15 等于运算符和对象引用 115

4.3.16 逻辑运算符 116

4.3.17 运算符instanceof 117

4.4 数组 119

4.4.1 边界检查 120

4.4.2 数组的数组 120

4.4.3 数组作为返回类型 122

4.5 控制结构 123

4.5.1 程序块 123

4.5.2 同一名字的域、参数和局部变量 125

4.5.3 嵌套程序块 125

4.5.4 if语句 126

4.5.5 switch语句 127

4.5.6 while循环和do while循环 129

4.5.7 for循环 129

4.6.1 问题 132

4.6.2 输出 132

4.6 应用举例:产生非重复的整数 132

4.6.3 解决方法 133

4.6.4 Java实现 133

4.6.5 讨论 134

4.6.6 Set接口和HashSet实现 135

4.7 异常 136

4.7.1 finally语句 137

4.7.2 在程序中故意抛出一个异常 138

4.7.3 throws语句 139

4.7.4 异常和调试 140

4.8 Java补充材料 141

4.8.1 整数的二进制补码表示 141

4.8.2 垃圾回收 142

4.8.3 按位/逻辑运算符 143

4.8.4 条件运算符 143

4.9 通常错误和安全实践 144

4.10 编程练习 146

第5章 类 151

5.1 类和类成员的作用域 151

5.1.1 类作用域 151

5.1.2 成员作用域 153

5.13 类和成员作用域小结 156

5.2 构造函数、方法和域 157

5.2.1 构造函数 157

5.2.2 无参数的构造函数 159

5.2.3 通过构造函数限制对象的构造 160

5.2.5 方法 161

5.2.4 构造函数和非引用对象 161

5.2.6 属性和get/set方法 162

5.2.7 方法和各种不同的功能 163

5.2.8 从构造函数中调用方法 163

5.2.9 从带返回类型的方法中返回值 163

5.2.10 通过构造方法构造对象 164

5.2.11 域 164

5.2.12 实例域和对象的状态 165

5.2.13 域的初始化 166

5.2.14 static方法和域 167

5.2.15 访问static成员的一种工作方法 168

5.2.16 static成员的使用 169

5.2.17 遭反对的特性 170

5.3 学习类库 172

5.4 应用举例:基本的输入/输出类 177

5.4.1 问题 177

5.4.2 输入/输出 177

5.4.3 解决方法 179

5.4.4 Java实现 179

5.4.5 讨论 181

5.5 应用举例:一个用于文件复制的实用工具类 186

5.5.1 问题 186

5.5.2 输出举例 187

5.5.3 解决方法 187

5.5.4 Java实现 188

5.5.5 讨论 189

5.6 Java补充材料 192

5.7 通常错误和安全实践 193

5.8 编程练习 196

第6章 继承、接口和抽象类 201

6.1 继承的基本概念 201

6.1.1 类Object 203

6.1.2 一些重要的Object方法 203

6.1.3 作用域和继承 205

6.1.4 作用域和继承的相互作用 206

6.1.5 改变一个继承成员的作用域 207

6.1.6 在继承下的构造函数 208

6.1.7 名字隐藏 212

6.1.8 用修饰符final禁用继承 213

6.1.9 强制类型转换和类型安全 214

6.1.10 向下强制类型转换的危险 215

6.2 多态 216

6.2.1 覆盖toString方法 219

6.2.2 覆盖和名字隐藏 220

6.2.3 方法覆盖调用超类方法 221

6.2.4 用修饰符final禁用覆盖 222

6.2.5 覆盖与重载 222

6.3 应用举例:多态的输入和输出 224

6.3.1 问题 224

6.3.2 输入/输出举例 224

6.3.3 解决方法 225

6.3.4 Java实现 225

6.3.5 讨论 232

6.4 接口 233

6.4.1 接口和继承 235

6.4.2 接口作为引用数据类型 236

6.4.3 嵌套的接口 237

6.4.4 应用程序接口 238

6.5 抽象类 238

6.5.1 创建一个抽象类的三种方法 239

6.5.2 具体类、抽象类和接口的小结 240

6.6 Java补充材料 241

6.7 通常错误和安全实践 242

6.8 编程练习 244

第7章 图形与事件处理 247

7.1 AWT和Swing组件集概述 247

7.1.1 模型视图控制器结构 248

7.1.2 AWT和Swing组件集的共同特性 249

7.2 事件驱动的程序设计 250

7.2.1 事件委托模型 251

7.2.2 Action接口 255

7.3 组件和容器 256

7.3.1 JFrame窗口 257

7.3.2 通过关闭顶层窗口结束应用程序 261

7.3.3 Action接口和AbstractAction类 263

7.3.4 菜单、弹出式菜单和子菜单 265

7.3.5 键盘快捷键 265

7.3.6 弹出式菜单 268

7.3.7 工具条 270

7.3.8 对话框窗口 271

7.4.2 输出举例 274

7.4 应用举例:辅助目录 274

7.4.1 问题 274

7.4.3 解决方法 275

7.4.4 Java实现 275

7.4.5 讨论 277

7.4.6 创建树结构 278

7.4.7 事件处理 279

7.5 模型视图控制器结构 280

7.5.1 一个组件视图和控制器的集成 283

7.5.2 组件的外观和效果 283

7.5.3 画图和重画 286

7.5.4 合法和无效 289

7.6.3 解决方法 291

7.6.4 Java实现 291

7.6.1 问题 291

7.6.2 输入举例 291

7.6 应用举例:一个图形表格编辑器 291

7.6.5 讨论 293

7.6.6 编辑雇员记录 294

7.7 通常错误和安全实践 294

7.8 编程练习 295

第8章 三种接口:可复制的、可系列化的和可运行的接口 299

8.1 复制对象 299

8.1.1 clone方法的默认实现 299

8.1.2 默认clone方法的问题 300

8.1.4 禁用复制 303

8.1.3 复制数组 303

8.2 系列化 304

8.2.1 系列化的基本概念 305

8.2.2 系列化的规则 305

8.2.3 系列化与对象图形 305

8.2.4 带有可系列化子类的不可系列化超类 306

8.2.5 对象的输入流和输出流 306

8.2.6 系列化、数组和基本类型 307

8.2.7 基本类型与对象流 308

8.2.8 系列化和String 308

8.2.9 系列化和static域与transient域 309

8.2.10 定制系列化 310

8.2.11 关于系列化的特别注释 313

8.2.13 Externalizable接口 314

8.2.12 系列版本号 314

8.2.14 禁用系列化 315

8.3 应用举例:一个可系列化的时间片 316

8.3.1 问题 316

8.3.2 输出举例 316

8.3.3 解决方法 316

8.3.4 Java实现 316

8.3.5 讨论 318

8.4 多线程程序 319

8.4.1 从单线程执行到多线程执行 320

8.4.2 交叉的线程执行 321

8.4.3 线程执行的小结 321

8.4.4 多线程的优点 322

8.4.6 多线程和程序终止 328

8.4.5 使程序成为多线程的两种方法 328

8.4.7 用户线程和守护线程 329

8.4.8 线程优先级 330

8.4.9 线程状态 332

8.4.10 线程组 332

8.4.11 线程同步 334

8.4.12 join方法 335

8.4.13 线程同步的需要 336

8.4.14 临界区和互斥 336

8.4.15 同步线程间的通信 338

8.4.16 wait方法和通知 339

8.4.18 死锁 340

8.4.17 notify和notifyAll方法 340

8.4.19 不遭反对的Thread构造函数和方法小结 342

8.5 应用举例:哲学家进餐问题 344

8.5.1 问题 344

8.5.2 输出举例 345

8.5.3 解决方法 346

8.5.4 Java实现 346

8.5.5 讨论 348

8.5.6 对临界区问题的解决方法 349

8.6 Java补充材料 351

8.6.1 遭反对的线程方法 351

8.6.2 线程、编译器优化和Volatile修饰符 351

8.7 通常错误和安全实践 351

8.8 编程练习 354

9.1 基本概念 357

第9章 网络编程 357

9.1.1 IP地址 358

9.1.2 包结构 358

9.1.3 端口号 359

9.1.4 套接字 359

9.1.5 可靠传输和最佳试验传输 360

9.1.6 防火墙和代理服务器 360

9.2 套接字 361

9.2.1 客户套接字 361

9.2.2 服务器套接字 364

9.2.3 数据报套接字 366

9.2.4 系列化与套接字 369

9.2.6 Java安全套接字扩充 371

9.2.5 组播套接字 371

9.2.7 在一台独立运行的机器上测试分布式应用程序 372

9.3 应用举例:一个多线程的俗语服务器 372

9.3.1 问题 372

9.3.2 输入/输出举例 373

9.3.3 解决方法 374

9.3.4 Java实现 374

9.3.5 讨论 375

9.3.6 客户 375

9.4 applet 376

9.4.1 Applet和JApplet类 376

9.4.2 初始化、开始和结束一个applet 380

9.4.4 通信applet 383

9.4.3 appletviewer实用程序 383

9.4.5 JAR文件 384

9.4.6 applet的安全性和沙盒机制 385

9.4.7 Java应用程序作为applet的主机程序 385

9.5 应用举例:MACE作为带套接字的applet 389

9.5.1 问题 389

9.5.2 输入/输出举例 389

9.5.3 解决方法 390

9.5.4 Java实现 390

9.5.5 讨论 392

9.6 远程方法调用 393

9.6.1 RMI服务器和客户举例 393

9.6.2 RMI客户 394

9.6.4 RMI服务器 395

9.6.3 安全许可 395

9.6.5 RMI的激活 396

9.6.6 RMI和Jini 396

9.7 应用举例:矩阵的代数运算 397

9.7.1 问题 397

9.7.2 输入/输出举例 397

9.7.3 解决方法 399

9.7.4 Java实现 399

9.7.5 讨论 400

9.7.6 矩阵加法和乘法的时间复杂性 401

9.8 对象请求代理程序和CORBA 401

9.8.2 IDL文件 402

9.8.1 CORBA应用程序举例 402

9.8.3 服务器程序 404

9.8.4 CORBA命名服务 404

9.8.5 客户程序 405

9.8.6 运行应用程序 406

9.8.7 动态调用接口 407

9.8.8 联网技术小结 407

9.9 Java补充材料 408

9.9.1 jar实用程序 408

9.9.2 applet作为CORBA客户程序的安全问题 408

9.10 通常错误和安全实践 409

9.11 编程练习 409

10.1.1 组件属性的动态编辑 413

10.1 bean 413

第10章 精选主题 413

10.1.2 属性改变事件 418

10.1.3 bean box 421

10.1.4 Enterprise Java Bean 423

10.2 安全和密码技术 424

10.2.1 基本安全结构 424

10.2.2 安全管理器 425

10.2.3 访问控制器 427

10.2.4 权限 427

10.2.5 安全策略文件 431

10.2.6 密码技术 432

10.2.7 消息摘要和数字签名 433

10.2.8 私人密钥系统和公共密钥系统 434

10.2.9 产生与验证数字签名 435

10.2.10 Java密码技术的扩展 439

10.3 反射 440

10.3.1 系列化检测 440

10.3.2 获取运行时的类信息 441

10.3.3 反射和bean 444

10.4 servlet和数据库 444

10.4.1 servlet的基本概念 445

10.4.2 动作标签 446

10.4.3 doGet和doPost回调 446

10.4.4 JDBC的基本概念 448

10.5.2 输入/输出举例 451

10.5.1 问题 451

10.5 应用举例:数据库网上访问 451

10.5.3 解决方法 452

10.5.4 Java实现 453

10.5.5 讨论 455

10.5.6 servlet Products 455

10.5.7 SalesServlet 456

10.6 Java补充材料 457

10.6.1 bean box工具 457

10.6.2 Java Servlet开发工具包 458

10.6.3 为访问数据库Northwind,建立从JDBC到ODBC的桥 458

10.7 通常错误和安全实践 458

10.8 编程练习 459

附录A 奇数练习题的提示及解答 462

相关图书
作者其它书籍
返回顶部