内容简介
第1篇Java面向对象启步
第1单元 职员类
1.1从对象到类:类的定义
1.1.1对象建模
1.1.2类:对象的抽象
1.1.3信息隐蔽与类成员的访问控制
1.1.4成员变量与数据类型
1.1.5成员方法:定义与调用
1.1.6 Java关键词与标识符
1.2从类到对象:对象的声明、建立与初始化
1.2.1创建对象的过程
1.2.2构造方法
1.2.3对象成员的访问与this
1.3包
1.3.1包的作用与结构
1.3.2包的声明
1.3.3包或类的导入
1.4流与Java输入输出初步
1.4.1流的概念
1.4.2 System类与标准I/O流对象
1.4.3使用PrintStream类的println()和print()方法输出
1.4.4使用Scanner类进行键盘输入
1.5源程序文件与Java平台
1.5.1主方法
1.5.2源程序文件
1.5.3 Java程序的编译与解释
1.6 Java开发运行环境
1.6.1 JDK
1.6.2 Eclipse开发环境
习题1
第2单元 计算器类
2.1计算器类的定义
2.1.1问题建模
2.1.2 Calculator类的Java描述
2.1.3运算符及其运算规则
2.1.4程序的可靠性:程序测试和调试
2.1.5整数除的风险与对策
2.2异常处理——Calculator类改进之一
2.2.1 Java的隐含异常处理机制
2.2.2 Java程序中的显式异常处理
2.2.3进行异常处理的4种方式
2.3用选择结构确定计算类型——Calculator类改进之二
2.3.1用if-else实现方法calculate()
2.3.2关系操作符
2.3.3用switch结构实现计算方法calculate()
2.4判断结构的测试
2.4.1逻辑覆盖测试及其策略
2.4.2本例的测试用例设计
2.5使用static成员变量存储计算结果——Calculator类改进之三
2.5.1 static变量的性质
2.5.2带有static成员的Calculator类定义
习题2
第3单元 素数序列
3.1问题描述与对象建模
3.1.1对象建模
3.1.2 getPrimeSeries()方法算法分析
3.1.3 isPrime()方法的设计与静态方法的使用
3.2变量的访问属性
3.2.1变量的作用域
3.2.2静态变量、实例变量与方法变量的存储与生命期
3.2.3对象的生命期与Java垃圾回收
3.3 Java的重复控制结构
3.3.1 while结构和do-while结构
3.3.2 for结构
3.3.3 continue语句和break语句
3.3.4 PrimeSeries类的定义代码
3.4重复控制结构的测试
3.4.1等价分类法与边值分析法
3.4.2循环结构的测试用例设计
3.4.3本例测试数据的设计
3.5知识链接
3.5.1 Java操作符的优先级别与结合性
3.5.2表达式及其求值规则
习题3
第4单元 阶乘计算器
4.1阶乘计算器类建模
4.2用迭代方法实现的阶乘计算器
4.2.1用迭代法实现getFactorial ()方法
4.2.2考虑特殊情况的getFactorial ()方法算法
4.2.3构造方法定义
4.2.4测试用例设计
4.2.5主方法设计
4.2.6完整的阶乘类定义
4.3用递归方法实现的阶乘计算器
4.3.1问题的提出
4.3.2递归过程
4.4 Hanoi游戏机
4.4.1问题描述
4.4.2问题建模
4.4.3成员方法hanoiPlay()的实现
4.4.4 HanoiGame类的定义
4.4.5递归过程分析
4.5知识链接
4.5.1直接数的表示形式
4.5.2 BigDecimal和BigInteger
4.5.3基本类型的包装
4.5.4类型转换
4.5.5 String类
习题4
第5单元 扑克游戏
5.1数组与扑克牌的表示和存储
5.1.1数组的概念
5.1.2数组引用变量的声明和创建
5.1.3数组的显式初始化
5.1.4数组元素的访问
5.1.5 ForEach循环
5.2随机数与扑克游戏洗牌
5.2.1随机数的概念
5.2.2 Random类
5.2.3一次洗牌算法
5.2.4洗牌方法的测试
5.2.5 n次洗牌算法
5.2.6 Math类
5.3扑克整理与数组排序
5.3.1冒泡排序算法
5.3.2基于冒泡排序算法的cardSort()方法
5.4扑克发牌与二维数组
5.4.1基本的发牌算法
5.4.2用二维数组表示玩家手中的牌
5.4.3使用二维数组的发牌方法
5.5数组实用类:java. util. Arrays
5.5.1数组元素检索方法
5.5.2数组比较方法
5.5.3数组元素填充方法
5.5.4数组元素升序排序方法
5.6 String数组与命令行参数
5.6.1引用数组和String数组
5.6.2命令行参数
5.7知识链接:Vector类
习题5
第6单元 学生-研究生
6.1学生类-研究生类层次结构
6.1.1由Student类派生GradStudent类
6.1.2关键词this和super
6.1.3 Java继承规则
6.2访问权限控制
6.2.1类成员的访问权限控制级别
6.2.2类的访问权限控制级别
6.2.3 private构造方法
6.3类层次中的类型转换
6.3.1类层次中的赋值兼容规则
6.3.2里氏代换原则
6.3.3类型转换与类型测试
6.4方法覆盖与隐藏
6.4.1派生类实例方法覆盖基类中原型相同的实例方法
6.4.2派生类静态方法隐藏基类中原型相同的静态方法
6.4.3 JVM的绑定机制
6.5知识链接
6.5.1 Object类
6.5.2 Java异常类和错误类的继承体系
习题6
第2篇Java面向抽象编程
第7单元 抽象类与接口
7.1圆、三角形和矩形
7.1.1三个独立的类:Circle 、 Rectangle和Triangle
7.1.2 final关键字
7.1.3 Java构件修饰符
7.1.4枚举
7.2抽象类
7.2.1由具体类抽象出抽象类
7.2.2抽象类的特征
7.3接口
7.3.1接口及其定义
7.3.2接口的实现
7.3.3关于接口的进一步讨论
习题7
第8单元 面向对象程序设计的基本原则
8.1从可重用说起:合成/聚合优先原则
8.1.1继承重用的特点
8.1.2合成/聚合重用及其特点
8.1.3合成/聚合优先原则
8.2从可维护性说起:开闭原则
8.2.1软件的可维护性和可扩展性
8.2.2开闭原则
8.3面向抽象编程
8.3.1具体与抽象
8.3.2依赖倒转原则
8.3.3接口与面向接口的编程
8.3.4面向接口编程举例
8.4单一职责原则
8.4.1对象的职责
8.4.2单一职责原则的概念
8.4.3接口分离原则
8.5不要和陌生人说话
8.5.1狭义迪米特法则
8.5.2广义迪米特法则
习题8
第9单元 设计模式举例
9.1图形对象的创建问题
9.1.1简单工厂模式
9.1.2工厂方法模式
9.1.3其他创建性设计模式
9.2商场营销问题
9.2.1策略模式的引入
9.2.2策略模式与简单工厂模式结合
9.2.3其他行为型设计模式
9.3消息发送问题
9.3.1不用模式的解决方案
9.3.2采用桥接模式的解决方案
9.3.3其他结构型设计模式
习题9
第10单元 反射、配置文件与程序打包发布
10.1反射
10.1.1类文件与类加载
10.1.2 Class对象
10.1.3反射API
10.1.4使用反射的简单工厂模式
10.2 Java程序的属性配置文件
10.2.1 .properties配置文件和XML配置文件
10.2.2 Java应用程序读取配置文件
10.2.3使用反射+配置文件的简单工厂模式
10.3 Java程序的打包与发布
10.3.1 Java程序打包与JAR文件包
10.3.2 manifest文件
10.3.3创建可执行JAR包
习题10
第3篇 基于API的Java开发
第11单元Java图形用户界面技术
11.1图形用户界面的基本知识
11.1.1组件与容器
11.1.2布局管理器与坐标系
11.1.3事件与事件监听器
11.1.4 GUI程序开发的基本过程
11.2 AWT及其应用
11.2.1 AWT及其API
11.2.2抽象类Component与AWT组件
11.2.3抽象类Container与AWT容器
11.2.4 AWT布局管理器
11.3事件处理
11.3.1 AWT事件类
11.3.2事件监听接口
11.3.3组件注册事件监听器
11.3.4事件适配器
11.3.5内嵌类、匿名类及其在事件处理中的应用
11.4 Swing及其应用
11.4.1 Swing的特点
11.4.2 Swing组件
11.4.3 Swing布局管理器
11.4.4 Swing事件处理
习题11
第12单元Java多线程
12.1 Java多线程概述
12.1.1进程与线程
12.1.2线程的状态
12.1.3 Java多线程机制
12.1.4 Thread类
12.2线程状态控制
12.2.1创建线程
12.2.2线程调度
12.2.3线程暂停
12.3多线程管理
12.3.1多线程同步共享资源
12.3.2线程死锁问题
12.3.3线程组
习题12
第13单元Java网络程序设计
13.1 Java Socket程序设计基础
13.1.1 IP地址与InetAddress类
13.1.2端口号与套接口地址
13.1.3客户端/服务器工作模式
13.2基于TCP的Java Socket程序设计
13.2.1 Socket类和ServerSocket类
13.2.2 TCP Socket通信过程
13.2.3 TCP Socket程序设计
13.3基于UDP的Java Socket程序设计
13.3.1 DatagramPacket类和DatagramSocket类
13.3.2 DatagramSocket类
13.3.3 UDP Socket程序设计
13.4基于URL的Java网络程序设计
13.4.1 URI、URL和URN
13.4.2 URL类
13.4.3 URLConnection类
习题13
第14单元JavaBean
14.1 JavaBean概述
14.1.1软件组件与JavaBean
14.1.2 JavaBean结构
14.1.3 JavaBean规范
14.2开发JavaBean
14.2.1 JavaBean的API
14.2.2 JavaBean开发工具
习题14
第15单元Java数据持久化技术
15.1数据库与数据持久化技术
15.1.1数据库与SQL
15.1.2数据持久层的概念
15.2 JDBC原理
15.2.1 JDBC体系结构
15.2.2 JDBC驱动程序
15.2.3用JDBC URL命名数据源
15.3 JDBC工作流程
15.3.1加载数据库驱动程序
15.3.2创建一个数据源连接
15.3.3创建SQL工作空间
15.3.4传送SQL语句,得到结果集
15.3.5处理结果集
15.3.6关闭数据库连接
15.3.7实例
15.4连接数据库的配置文件
15.4.1从配置文件读取连接数据库字符串的程序结构
15.4.2主流数据库配置文件示例
15.5事务处理
15.5.1事务的概念
15.5.2 JDBC中的事务处理
15.5.3实例
15.6持久层架构Hibernate
15.6.1 ORM
15.6.2 Hibernate的基本原理
15.6.3 Hibernate工作流程
15.6.4 Hibernate开发流程
15.6.5 Hibernate开发环境
习题15
第4篇 面向Web开发
第16单元Java Web概述
16.1 Web支持技术
16.1.1超文本与超媒体
16.1.2 HTML
16.1.3 XML
16.1.4 HTTP
16.2 Java Web技术演进
16.2.1 Java Applets——客户端Java动态Web技术
16.2.2从CGI到Java Servlet再到JSP
16.2.3 Java EE
习题16
第17单元Java Servlet
17.1 Servlet环境
17.1.1安装JSDK
17.1.2 JSDK的配置
17.1.3 Servlet容器与Tomcat服务器
17.2 Servlet语法
17.2.1 Servlet类定义
17.2.2 Servlet对象生命周期
17.2.3 HttpServlet类的doXxx()方法
17.3 Servlet运行
17.3.1 Servlet类字节码文件的生成和保存
17.3.2 Servlet的部署和运行
习题17
第18单元JSP技术
18.1 JSP概要
18.1.1 JSP页面结构
18.1.2 JSP运行机制
18.1.3 JSP环境引擎
18.1.4 JSP注释元素
18.1.5 JSP页面元素
18.2 JSP脚本元素
18.2.1 JSP声明
18.2.2 JSP表达式
18.2.3 1SP代码段
18.3 JSP指令元素
18.3.1 include指令
18.3.2 page指令
18.4 JSP动作元素
18.4.1页面插入动作include
18.4.2页面切换动作forward
18.5 1SP内置对象
18.5.1 out对象
18.5.2 request对象
18.5.3 response对象
18.5.4 session对象
18.5.5 application对象
18.6 JSP与JavaBean交互
18.6.1 JSP与JavaBean交互的动作元素
18.6.2 JSP与JavaBean交互实例
习题18
第19单元MVC模式
19.1 MVC概述
19.1.1 MVC的概念
19.1.2 MVC组件与工作原理
19.1.3 MVC的优势与应用
19.2 JSP+Servlet+JavaBean实现的MVC
19.2.1 JSPServlet+JavaBean实现的MVC模式结构
19.2.2 JSP+Servlet+JavaBean实现的MVC实例
习题19
第20单元Java Web架构简介
20.1软件架构概述
20.1.1架构的概念
20.1.2软件架构及其目标
20.1.3 Java EE应用分层模型
20.2经典MVC支柱框架——Struts
20.2.1 Struts的构成
20.2.2 Struts的工作过程
20.2.3 Struts应用
20.2.4 Struts与Hibernate整合
20.2.5 Struts2
20.3基于控制反转和面向切面的轻量级框架——Spring
20.3.1基本概念
20.3.2 Spring的组件架构
20.3.3 Spring的下载和安装
20.3.4 Spring应用实例
20.3.5 SSH整合
20.4 Java Web用户界面标准——JSF框架
20.4.1 JSF的特点
20.4.2 JSF的工作流程
20.4.3 JSF应用程序结构
习题20
附录A Java运行时异常类和错误类
A.1 RuntimeException类
A.2 Error类
参考文献