《零基础学Java 第4版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:常建功,陈浩,黄淼等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111466055
  • 页数:577 页
图书介绍:本书一共分为四篇,共25章,循序渐进地讲述了Java语言的语法规则,Eclipse和MyEclipse开发环境的使用,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构和算法都进行了详细的阐述,主要包括运算符、表达式、分支语句、循环语句、函数、数组、字符串、类、对象、包、继承、多态、封装、枚举、反射、标注、泛型、类加载器、动态代理、多线程、文件的操作和访问、数据的操作、数据的存储、Java数据结构、XML文件的创建和解析、数据库的连接、网络编程和界面的设计等知识点。

第一篇Java语言语法基础——面向过程知识 1

第1章 Java技术概览 1

1.1 Java技术 1

1.1.1 认识Java语言 1

1.1.2 认识Java平台 2

1.1.3 Java语言的功能 3

1.1.4 Java语言的优点 3

1.1.5 Java分布式应用和多线程的特点 4

1.1.6 Java程序的可靠性、安全性 5

1.1.7 Java小程序和应用程序 5

1.2 Windows下的“HelloWorld”应用程序 5

1.2.1 创建应用程序的软件环境 5

1.2.2 创建“HelloWorld”应用程序的步骤 6

1.3 深入探讨“HelloWorld”应用程序 8

1.3.1 注释源代码 8

1.3.2 实现类定义 9

1.3.3 详解main()方法 9

1.4 常见疑难解答 9

1.4.1 环境变量设置错误 10

1.4.2 语法错误 10

1.4.3 语义错误 10

1.4.4 运行时错误 11

1.4.5 初学者如何选择Java参考书 12

1.5 小结 12

1.6 习题 12

第2章 Java开发工具及环境设置 14

2.1 Java开发工具简介 14

2.1.1 下载并安装JDK 14

2.1.2 设定环境变量 17

2.1.3 验证JDK环境是否配置成功 18

2.2 JDK内置工具 18

2.2.1 JDK常用工具 18

2.2.2 JDK常用工具的使用实例 19

2.2.3 Java应用程序的发布工具 20

2.3 一个简单的Java应用程序 20

2.4 一个简单的Java Applet应用程序 21

2.4.1 编写一个Java Applet 21

2.4.2 编写承载Java Applet的HTML文件 22

2.4.3 Java Applet运行过程 22

2.5 Java程序员的编码规则 23

2.6 常见疑难解答 24

2.6.1 Java文件扩展名是否区分大小写 24

2.6.2 Javac xxx.java顺利通过,但Java xxx显示“NoClassDefFoundError” 24

2.6.3 导致错误“Exception in thread main java.lang.NoSuchMethodError.main”的原因 25

2.7 小结 25

2.8 习题 25

第3章 Java语言中的数据类型与运算符 26

3.1 数制 26

3.1.1 基本概念 26

3.1.2 Java语言中的数制表现形式 26

3.2 数据类型 27

3.2.1 整型 27

3.2.2 字符型 30

3.2.3 浮点型 30

3.2.4 布尔型 32

3.3 变量 32

3.3.1 变量的声明 32

3.3.2 变量的含义 33

3.3.3 变量的分类 33

3.4 变量如何初始化 35

3.5 常量 37

3.6 运算符 38

3.6.1 算术运算符 38

3.6.2 关系运算符 42

3.6.3 逻辑运算符 43

3.6.4 位运算符 45

3.6.5 移位运算符 47

3.6.6 赋值运算符 49

3.6.7 三元运算符 50

3.6.8 逗号运算符 50

3.6.9 转型运算符 50

3.6.10 运算符的优先级别 51

3.7 常见疑难解答 51

3.7.1 如何将十进制转换成二进制 51

3.7.2 转型运算符会引起精度问题,为什么还要使用它 52

3.8 小结 52

3.9 习题 52

第4章 程序设计中的流程控制 53

4.1 编程风格 53

4.2 条件语句 54

4.2.1 简单条件语句 54

4.2.2 最简单的条件语句 55

4.2.3 适应多条件的条件语句 56

4.2.4 嵌套条件语句 59

4.2.5 如何使用条件语句 60

4.3 循环语句 60

4.3.1 for循环语句 60

4.3.2 while循环 63

4.3.3 do…while语句 66

4.4 中断与继续语句 67

4.4.1 中断控制语句 67

4.4.2 继续语句 69

4.5 分支语句 70

4.6 返回语句 73

4.7 常见疑难解答 73

4.7.1 普通循环是使用for语句还是while语句 73

4.7.2 一般的程序可否用分支语句来代替条件语句 74

4.8 小结 74

4.9 习题 74

第二篇Java语言语法进阶——面向对象知识 75

第5章 数组 75

5.1 数组概念的引入 75

5.1.1 实例的引入 75

5.1.2 数组的概念 75

5.1.3 用实例说明数组的用处 76

5.2 基本数据类型的数组 76

5.2.1 基本类型数组的声明 77

5.2.2 基本类型数组的初始化 77

5.3 由实例引出不同数组种类及其使用 78

5.3.1 认识一维数组 78

5.3.2 由实例引出一维数组及其使用 78

5.3.3 由实例引出二维数组及其使用 81

5.4 多维数组 82

5.4.1 多维数组的声明 82

5.4.2 初始化多维数组 83

5.4.3 使用多维数组 83

5.5 数组的综合实例 84

5.6 常见疑难解答 88

5.6.1 声明数组需要注意什么 88

5.6.2 数组在平时的程序代码中使用是否频繁 88

5.7 小结 88

5.8 习题 88

第6章 字符串的处理 90

6.1 认识字符串 90

6.1.1 代码中的字符串 90

6.1.2 String类和StringBuffer类的比较 91

6.2 字符串处理的类库种类 92

6.2.1 字符串的赋值 92

6.2.2 字符串处理类——String 92

6.2.3 字符串处理的方法 95

6.2.4 缓冲字符串处理类——StringBuffer 102

6.2.5 缓冲字符串StringBuffer类的构造器 102

6.2.6 缓冲字符串的处理 103

6.2.7 缓冲字符串类的特点 107

6.3 用实例演示如何处理字符串 107

6.4 如何格式化输出字符串 108

6.5 常见疑难解答 109

6.5.1 equals和“==”的区别 109

6.5.2 String类为何被定义成final约束 109

6.5.3 char类型如何转换成int类型,int类型如何转换成字符串 109

6.6 小结 109

6.7 习题 110

第7章 类和对象 111

7.1 面向对象开发中的类 111

7.1.1 在Java中类的定义 111

7.1.2 Java中的类与现实世界的类 112

7.2 万事万物皆对象 112

7.2.1 什么是对象 112

7.2.2 操作对象 113

7.2.3 初始化对象 113

7.2.4 对象的成员方法 114

7.2.5 对象的成员变量 119

7.3 对象中访问控制符的重要性 119

7.3.1 什么是访问控制符 119

7.3.2 如何使用访问控制符及其重要性 121

7.4 Java中的基础类 123

7.4.1 Java的数学运算处理类Math 123

7.4.2 测试时间和日期的类Date 125

7.4.3 测试日历的类GregorianCalendar 126

7.4.4 日历处理的实例解析 127

7.5 用实例分析设计一个类的流程 129

7.5.1 如何在现实程序设计中提取一个类 129

7.5.2 设置器和访问器 135

7.5.3 总结 137

7.6 常见疑难解答 137

7.6.1 类在程序语言中起到了什么作用 137

7.6.2 设置器和访问器的作用 137

7.7 小结 137

7.8 习题 137

第8章 重载和包 138

8.1 重载 138

8.1.2 用实例来说明重载的意义 139

8.2 包 140

8.2.1 什么是Java中的包 140

8.2.2 如何实现包 140

8.2.3 什么是类路径和默认包 142

8.2.4 包的作用域 142

8.2.5 静态导入 142

8.3 包的注释及嵌入文档 144

8.3.1 如何添加注释 144

8.3.2 类、方法、字段等注释的方法 144

8.4 常见疑难解答 145

8.4.1 包在实际编程中究竟有什么作用 145

8.4.2 一个文件中定义了两个class类是否生成一个.class文件 145

8.5 小结 145

8.6 习题 145

第9章 继承和多态 147

9.1 什么是继承 147

9.1.1 继承的引出 147

9.1.2 继承的概念 148

9.1.3 如何实现继承 149

9.1.4 如何设计继承 151

9.2 构造函数的使用 151

9.2.1 什么是构造函数 151

9.2.2 继承中构造函数的初始化 152

9.2.3 替代父类和本身的方式 153

9.2.4 Java中的单继承性 154

9.3 继承中的覆盖现象 154

9.4 类之间的关系 154

9.4.1 依赖 155

9.4.2 聚合 155

9.4.3 继承 155

9.5 继承层次图 156

9.6 多态 156

9.6.1 多态的产生 156

9.6.2 多态的概念 157

9.6.3 使用多态编写程序 158

9.6.4 覆盖的应用 159

9.6.5 重载与覆盖的实例对比 160

9.6.6 覆盖的多态性 161

9.6.7 传值引用和传址引用 162

9.7 通过实例熟悉多态用法 163

9.8 绑定 165

9.8.1 静态绑定 165

9.8.2 动态绑定 165

9.9 超类 165

9.9.1 什么是超类 165

9.9.2 equals方法的使用 166

9.9.3 通用编程 166

9.10 常见疑难解答 166

9.10.1 Java不支持多继承,如何处理一个类继承多个父类的情况 166

9.10.2 如果出现了带参数的构造函数,可否不在代码中写出来 167

9.10.3 动态和静态编译是什么 167

9.10.4 绑定与多态的联系是什么 167

9.10.5 多态与重载的区别是什么 167

9.11 小结 167

9.12 习题 167

第10章 接口与内部类 171

10.1 接口 171

10.1.1 接口概念的引入 171

10.1.2 接口的声明 172

10.1.3 接口的实现 172

10.1.4 接口的多重实现 177

10.1.5 接口的属性 182

10.1.6 接口的继承 182

10.2 内部类 187

10.2.1 使用内部类来访问对象 188

10.2.2 局部内部类 191

10.2.3 静态内部类 194

10.2.4 匿名内部类 194

10.3 常见疑难解答 194

10.3.1 匿名类如何在程序中使用 194

10.3.2 接口与继承有什么区别 194

10.4 小结 194

10.5 习题 194

第11章 抽象和封装 196

11.1 抽象的概念 196

11.1.1 什么是抽象 196

11.1.2 抽象的综合实例 197

11.2 抽象类 200

11.2.1 什么是抽象类 200

11.2.2 抽象类的实例 200

11.3 抽象与接口的区别 205

11.4 枚举 205

11.4.1 关于枚举的实现原理 205

11.4.2 枚举的简单应用 207

11.4.3 关于枚举的高级特性 208

11.5 反射 210

11.5.1 关于反射的基石——Class类 210

11.5.2 关于反射的基本应用 212

11.5.3 关于反射的高级应用 216

11.6 标注 219

11.6.1 标注的简单使用 219

11.6.2 关于JDK的内置标注 220

11.7 泛型 222

11.7.1 为什么要使用泛型 222

11.7.2 关于泛型的一些特性 225

11.7.3 关于泛型的通配符 227

11.8 类加载器 229

11.8.1 什么是类加载器 229

11.8.2 什么是类加载器的委派模型 230

11.9 动态代理 231

11.9.1 什么是代理 231

11.9.2 关于动态代理基础类 232

11.9.3 关于InvocationHandler接口 236

11.9.4 动态代理类的设计模式 239

11.10 封装的概念 240

11.10.1 一个封装的例子 240

11.10.2 在程序设计中为什么要使用封装 243

11.10.3 在程序设计中设计封装的注意点 244

11.11 结合实例讲述如何设计封装 245

11.12 常见疑难解答 249

11.12.1 抽象类和接口在概念上有什么区别 249

11.12.2 如何从设计理念上看待抽象类和接口 250

11.12.3 封装在现实开发中给程序员带来什么启发 252

11.12.4 封装在实际开发中的应用有哪些 253

11.13 小结 253

11.14 习题 253

第三篇Java语言编程主题 255

第12章 线程 255

12.1 线程的基本概念 255

12.1.1 进程及其使用环境 255

12.1.2 线程及其使用环境 255

12.2 线程的创建 256

12.2.1 如何创建线程 256

12.2.2 通过实例熟悉如何创建线程 259

12.2.3 线程的状态 262

12.3 线程的使用 264

12.3.1 线程的优先级 264

12.3.2 线程的休眠与唤醒 265

12.3.3 线程让步 269

12.3.4 线程同步 270

12.3.5 同步块 272

12.3.6 同步化方法 275

12.4 实例分析 276

12.4.1 生产者与消费者的程序设计及分析 276

12.4.2 多消费者的程序设计及分析 278

12.4.3 多生产者的程序设计及分析 281

12.5 常见疑难解答 286

12.5.1 Java中线程与线程之间怎么通信 286

12.5.2 什么是进程的死锁和饥饿 286

12.5.3 什么时候会涉及线程程序 287

12.5.4 多线程的死锁问题 287

12.5.5 多线程的缺点 288

12.6 小结 288

12.7 习题 288

第13章 异常的处理与内存的管理 290

13.1 异常的概念 290

13.1.1 异常的分类 290

13.1.2 异常的声明 291

13.1.3 异常的抛出throw 292

13.2 异常的捕获 293

13.2.1 捕获多个异常 294

13.2.2 自定义异常 296

13.2.3 运行期异常 297

13.2.4 执行finally子句 298

13.2.5 finally子句的必要性 299

13.3 内存的管理和回收 301

13.4 常见疑难解答 302

13.4.1 为什么要声明方法抛出异常 302

13.4.2 为什么抛出的异常一定是检查异常 302

13.5 小结 303

13.6 习题 303

第14章 Java输入与输出 304

14.1 输入与输出的重要性 304

14.2 Java重要的输入输出类 304

14.3 文件或目录信息的处理 305

14.3.1 File类常用的操作方法 305

14.3.2 文件处理方法的应用 306

14.3.3 文件和目录的操作 306

14.4 读取数据的媒介之一——流 308

14.4.1 什么是流 309

14.4.2 什么是输入流和输出流 309

14.4.3 字节输入流及输出流 309

14.4.4 使用文件字节输入流读取文件 310

14.4.5 使用文件字节输出流输出文件 311

14.5 多字节数据读取类——Filter类 313

14.5.1 Filter流的概念 313

14.5.2 处理字节类型以外的文件输入 313

14.5.3 处理字节类型以外的文件输出 314

14.5.4 增强的多字节输出流DataOutput 314

14.5.5 增强的多字节输入流DataInput 315

14.6 读取数据的媒介之二——字符流 318

14.6.1 字符流的概念 318

14.6.2 抽象字符输入流Reader类的使用 318

14.6.3 抽象字符输出流Writer类的使用 319

14.6.4 读取带缓存的BufferedReader字符流 319

14.6.5 带缓存的字符输出流BufferedWriter类 320

14.6.6 字符输入流FileReader类和FileWriter类的使用 323

14.6.7 如何用标准输入流System.in来获取数据 324

14.6.8 打印输入流PrintWriter类与PrintStream类的区别 325

14.6.9 随机文件访问RandornAccessFile类 327

14.7 利用对象序列化控制输入输出 329

14.7.1 什么是对象序列化 329

14.7.2 基本数据和对象数据读写ObjectInput接口与ObjectOutput接口 329

14.7.3 对象序列化处理ObjectOutputStream类 330

14.7.4 对象序列化处理ObjectInputStream类 330

14.8 常见疑难解答 331

14.8.1 字节流与字符流的主要区别 331

14.8.2 输入流与输出流如何区分,各有什么作用 332

14.8.3 什么是管道流 332

14.9 小结 332

14.10 习题 333

第15章 Java中对数据的处理 334

15.1 如何将基本数据类型转换为对象 334

15.1.1 为什么要将基本数据转换为对象 334

15.1.2 Wrapper类的构造函数 335

15.1.3 包装类的常用函数 336

15.1.4 基本数据的拆装箱操作 338

15.2 如何处理随机性的数据 339

15.2.1 Random类的基础知识 339

15.2.2 通过实例熟悉Random类的常用方法 340

15.3 如何对数据进行排列、整理 343

15.3.1 Arrays类的常用方法 343

15.3.2 实例分析 345

15.4 常见疑难解答 348

15.4.1 Random类函数在现实生活中有什么用处 348

15.4.2 数组的排列和整理数据在实际应用中有什么用处 348

15.5 小结 349

15.6 习题 349

第16章 数据结构接口 350

16.1 数据结构接口及实现 350

16.1.1 数据结构接口的实质 350

16.1.2 用实例来熟悉数据结构接口的实现 351

16.2 Collection集合接口与Iterator迭代器接口 352

16.2.1 熟悉Collection集合接口 352

16.2.2 List接口和Set接口 353

16.2.3 Map映射接口 354

16.2.4 Iterator迭代器接口 355

16.2.5 通过实例来认识迭代器的实现 356

16.3 常见疑难解答 358

16.3.1 Collection集合接口和Collections集合类的区别 358

16.3.2 ArrayList数组列表类和Vector存储类的区别 358

16.3.3 HashMap散列映射和Hashtable散列表的区别 358

16.3.4 数据结构的种类有哪些 358

16.3.5 List接口和Set接口的区别 358

16.4 小结 359

16.5 习题 359

第17章 Java中的数据结构 360

17.1 链表 360

17.1.1 什么是Java中的链表 360

17.1.2 用程序代码段实现对链表的添加 361

17.1.3 用程序代码段实现对链表的删除 363

17.2 数组列表类 367

17.2.1 什么是数组列表类 367

17.2.2 通过实例熟悉数组列表如何存储数据 368

17.3 散列表 372

17.3.1 什么是散列表 372

17.3.2 通过实例熟悉散列表如何存储数据 372

17.4 散列集 376

17.4.1 什么是散列集 376

17.4.2 通过实例熟悉散列集如何存储数据 376

17.5 树集 381

17.5.1 什么是树集 381

17.5.2 通过实例熟悉树集如何存储数据 382

17.6 映像 385

17.6.1 什么是映像 385

17.6.2 通过实例熟悉映像如何存储数据 385

17.7 常见疑难解答 389

17.7.1 哪些是线程安全的数据结构 389

17.7.2 Vector是什么样的数据结构 389

17.8 小结 390

17.9 习题 390

第18章 XML基础 391

18.1 XML和HTML 391

18.1.1 XML的产生 391

18.1.2 XML与HTML的比较 392

18.2 XML的编辑工具 393

18.3 创建XML文档 393

18.3.1 XML的声明 394

18.3.2 文档类型的声明 394

18.3.3 元素 394

18.3.4 注释 396

18.3.5 处理指令 396

18.3.6 空白处理 396

18.3.7 行尾处理 397

18.3.8 语言标识 397

18.3.9 一个简单的有关XML的实例 397

18.4 关于XML的高级知识 397

18.4.1 什么才是格式良好的XML文档 398

18.4.2 DTD文档的作用 398

18.4.3 DTD的结构 399

18.4.4 几个有关DTD的简单实例 401

18.5 关于XML文档的操作 403

18.5.1 下载Dom4J组件 403

18.5.2 安装和配置Dom4J组件 404

18.5.3 Dom4J组件的简单使用——解析XML文件 405

18.5.4 Dom4J组件的简单使用——创建XML文件 407

18.6 关于XML文档的高级操作 409

18.6.1 下载Sax类库 409

18.6.2 安装和配置Sax组件 410

18.6.3 Sax组件的简单使用——解析XML文件 411

18.7 常见疑难解答 413

18.7.1 XML与HTML的区别 413

18.7.2 XML有哪些显示数据的方式 414

18.8 小结 414

18.9 习题 414

第19章 开发工具的使用 415

19.1 Eclipse简介 415

19.1.1 下载并安装Eclipse 416

19.1.2 Eclipse界面介绍 417

19.2 如何使用Eclipse进行开发 419

19.2.1 如何新建一个Java工程 419

19.2.2 如何新建一个Java类 420

19.2.3 编写代码 421

19.3 如何使用MyEclipse进行开发 422

19.3.1 下载并安装MyEclipse 423

19.3.2 关于MyEclipse的一些常用操作 424

19.4 常见疑难解答 426

19.4.1 Eclipse和U1traEdit两个开发工具的优缺点 426

19.4.2 什么是IDE环境 427

19.4.3 有关Eclipse的编译报错的原因 427

19.5 小结 427

19.6 习题 427

第20章 Swing组件与布局管理器 428

20.1 什么是Swing编程 428

20.2 MVC设计模式基础 428

20.3 简单框架设计及实例 429

20.3.1 创建一个空白的框架 429

20.3.2 创建框架的其他工作 430

20.4 简单图形按钮控件的设计及实例 431

20.4.1 Swing中的按钮控件 431

20.4.2 按钮的模型 432

20.4.3 添加普通按钮 432

20.4.4 添加单选按钮 433

20.4.5 添加复选框 435

20.4.6 ToggleButton按钮 436

20.5 简单文本输入组件的设计及实例 437

20.5.1 文本域 437

20.5.2 密码域 438

20.5.3 文本区域 439

20.6 展示类组件的设计及实例 440

20.6.1 标签组件 440

20.6.2 选择组件 441

20.6.3 菜单组件 441

20.6.4 对话框的种类及用法 443

20.7 复杂布局管理器的种类及用法 444

20.7.1 箱式布局的设计 444

20.7.2 网格组布局的设计 446

20.7.3 流布局的设计 447

20.7.4 边界布局的设计 448

20.8 通过实例熟悉Swing编程 449

20.9 常见疑难解答 452

20.9.1 如何处理菜单的启用和禁用功能 452

20.9.2 如何编写快捷键的程序 452

20.10 小结 452

20.11 习题 453

第21章 JDBC及其应用 454

21.1 数据库基础知识 454

21.1.1 什么是数据库 454

21.1.2 数据库的分类及功能 455

21.1.3 关系数据库的设计 455

21.1.4 数据库设计技巧 456

21.2 JDBC的基础概念 457

21.2.1 JDBC驱动程序的分类 457

21.2.2 利用Java到数据库协议方式连接数据库 458

21.2.3 利用Java到本地API方式连接数据库 459

21.2.4 利用JDBC-ODBC方式连接数据库 461

21.3 关于SQL Server数据库基础操作 463

21.3.1 什么是支持SQL语言的数据库 463

21.3.2 通过SQL语言如何操作数据库 464

21.3.3 安装SQL Server 465

21.3.4 高级 SQL类型 468

21.3.5 使用SQL创建数据库 468

21.4 JDBC基本编程 470

21.4.1 如何建立数据库 470

21.4.2 如何操作数据库 472

21.4.3 加载合适的数据库驱动程序 476

21.5 关于JDBC的高级操作 477

21.5.1 什么是事务处理 477

21.5.2 事务处理的过程演练 477

21.5.3 预查询 480

21.5.4 使用JDBC的注意事项 480

21.6 常见疑难解答 480

21.6.1 操作数据库的具体步骤是什么 480

21.6.2 数据库中的视图、图表、缺省值、规则、触发器、存储过程的意义 481

21.7 小结 482

21.8 习题 482

第22章 Applet设计 483

22.1 Applet的基本概念及生命周期 483

22.2 Applet的多媒体处理 485

22.2.1 声音处理 485

22.2.2 图像处理 486

22.3 浏览器与Applet的设计 487

22.3.1 如何将Applet嵌入浏览器 487

22.3.2 如何使用Applet类编程 487

22.3.3 如何用Applet控制浏览器 489

22.4 Applet的安全 489

22.5 一个Applet的综合实例分析 490

22.6 常见疑难解答 493

22.6.1 浏览器如何运行Applet 493

22.6.2 有关Applet无法在IE中显示问题的解答 494

22.7 小结 494

22.8 习题 494

第23章 网络编程基础 496

23.1 网络基础知识 496

23.2 TCP/IP协议和UDP协议 496

23.2.1 IP协议和IP地址 497

23.2.2 TCP协议和端口 499

23.2.3 客户端/服务器通信模型 499

23.2.4 UDP协议 500

23.3 端口与套接字 501

23.4 TCP程序设计基础 501

23.4.1 如何设计TCP程序 502

23.4.2 一个简单的例子 504

23.5 UDP程序设计基础 505

23.5.1 如何设计UDP程序 505

23.5.2 一个简单的例子 505

23.6 如何设计网络程序 506

23.6.1 单向通信综合实例 507

23.6.2 双向通信综合实例 509

23.7 常见疑难解答 512

23.7.1 TCP和UDP的区别 512

23.7.2 什么是TCP/IP协议,分为几层,什么功能 512

23.8 小结 514

23.9 习题 514

第四篇Java语言程序设计实例与面试题剖析 515

第24章 学校管理系统 515

24.1 开发背景 515

24.2 需求分析 515

24.3 登录界面的设计 516

24.3.1 登录界面的分析 516

24.3.2 登录界面的代码实现 516

24.3.3 登录界面的运行 518

24.4 主菜单界面的设计 519

24.4.1 主菜单界面的分析 519

24.4.2 主菜单界面的代码实现 519

24.4.3 主菜单界面的运行 527

24.5 数据库系统的设计 528

24.5.1 数据库中表的创建 528

24.5.2 数据库中的代码段 532

24.6 学生信息系统界面的设计 532

24.6.1 学生类的设计 532

24.6.2 存储类的设计 534

24.6.3 学生信息系统界面的代码实现 536

24.7 教师信息系统界面的设计 543

24.7.1 教师类的设计 544

24.7.2 存储类的设计 545

24.7.3 教师信息系统界面的代码实现 547

24.8 领导信息系统界面的设计 555

24.8.1 领导类的设计 555

24.8.2 存储类的设计 557

24.8.3 领导信息系统界面的代码实现 557

24.9 小结 565

第25章 面试题 566

面试题1 Java的引用和C+++的指针有什么区别 566

面试题2类和对象有什么区别 567

面试题3说明private、 protected、 public和default的区别 568

面试题4 Java可以用非0来代表true吗 569

面试题5 StringBuffer和StringBuilder存在的作用是什么 569

面试题6二维数组的长度是否固定 570

面试题7符合什么条件的数据集合可以使用foreach循环 571

面试题8如何序列化和反序列化一个Java对象 572

面试题9如何使用Java的线程池 573

面试题10如何利用反射实例化一个类 573

面试题11 TCP协议的通信特点是什么 573

面试题12请简述JDBC操作数据库的编程步骤 573

面试题13如何使用连接池技术 573

面试题14简述接口和抽象类的区别 574

面试题15 如何理解Java中的装箱和拆箱 574

面试题16根据代码判断创建的对象个数 575

面试题17分析循环程序的运行结果 575

面试题18可以返回最大值的方法 576

面试题19关于垃圾回收的疑问 576

面试题20线程问题:找出代码中的错误 577

面试题21关于ArrayList、 Vector、 LinkedList的问答题 577