Java面向对象程序设计(第2版)

Java面向对象程序设计(第2版)"

作者:耿祥义、张跃平
ISBN:9787302335801
定价:¥39.50
字数:千字
页数:
出版时间:2013.09.01
开本:
版次:2-14
装帧:
出版社:清华大学出版社
简介

Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言。Java已成为网络时代最重要的语言之一。本书注重结合实例以及重要的设计模式,循序渐进地向读者介绍了Java面向对象编程的重要知识。针对较难理解的问题,所列举例子都是由简到繁,便于读者掌握Java面向对象编程的思想。全书分为17章,分别讲解了基本数据类型、枚举和数组、运算符、表达式和语句、类、对象和接口、面向对象的几个基本原则、重要的设计模式、常用实用类、Java Swing图形用户界面、对话框、Java输入/输出流、泛型与集合框架、JDBC数据库操作、Java多线程机制、Java网络基础以及Java Applet等内容。

本书适合作为高等院校计算机专业Java语言程序设计以及面向对象语言课程的教材。

前言

本书是《Java面向对象程序设计》一书的第2版,除了对所使用的JDK版本进行更新以及对各章内容进行部分修改和更新外,对设计模式一章的内容进行了全部更新,对常用实用类以及Java Swing等章节做了系统的修改,从而更便于教学,并在JDBC数据库操作一章新增了JDK 6版本后Java平台提供的Derby内置数据库的介绍,继续保持教材的可读性和实用性,特别强调面向对象的程序设计思想。本书全面地讲解了Java的重要知识,尤其强调面向对象的设计思想和编程方法,在内容的深度和广度方面都给予了仔细考虑,在类、对象、继承、接口等重要的基础知识上侧重深度,而在实用类、输入/输出流、Java网络技术、JDBC数据库操作等实用技术方面的讲解上侧重广度。通过本书的学习,读者可以掌握Java面向对象编程的思想和Java编程中的一些重要技术。

全书共分17章。第1章主要介绍了Java产生的背景和Java平台,读者可以了解到Java是怎样做到“一次写成,处处运行”的。第2章和第3章主要介绍了Java的基本数据类型、数组、枚举类型,以及运算符和控制语句。第4章~第6章是本书的重点内容之一,讲述了类、对象、继承、接口等内容。第7章和第8章是对第4章、第5章知识的总结升华,第7章讲述了面向对象设计的基本原则,第8章讲解了几个重要的设计模式,以体现面向对象设计的基本原则。第9章讲述了常用的实用类,包括字符串、日期、正则表达式、模式匹配及数学计算等实用类。第10章和第11章是基于Java Swing的GUI图形用户界面设计,讲解了常用的组件和容器,对于比较复杂的组件给出了很实用的例子。第12章讲解Java中的输入/输出流技术,重点介绍了怎样使用输入/输出流来克隆对象、Java的文件锁技术以及使用Scaner类解析文件等内容。第13章讲解泛型和集合框架,强调如何使用集合框架提供的类来有效、合理地组织程序中的数据。第14章主要讲解Java怎样使用JDBC操作数据库,讲解了预处理、事务处理等重要技术,特别介绍了Java的Derby内置数据库。第15章讲述了多线程技术,通过许多有启发的例子来帮助读者理解多线程编程。第16章讲解Java在网络编程中的一些重要技术,涉及URL、Socket、InetAddress、DatagramPacket等重要的类,特别讲解了Java远程调用(RMI)。第17章主要讲解Java Applet的运行原理以及在Java Applet中播放声音。

本书的例题全部在JDK 1.7环境下编译通过,读者登录清华大学出版社网站http://tup.tsinghua.edu.cn 可下载本书的全部源代码。

希望本书能对读者学习Java有所帮助,并请读者对于书中的不妥之处给予批评指正。

编者

2013年6月

目录

第1章Java入门

1.1Java的地位

1.1.1网络地位

1.1.2语言地位

1.1.3需求地位

1.2Java的特点

1.2.1简单

1.2.2面向对象

1.2.3与平台无关

1.2.4多线程

1.2.5安全

1.2.6动态

1.3安装JDK

1.3.13种平台简介

1.3.2安装Java SE平台

1.4Java程序的开发步骤

1.5简单的Java应用程序

1.5.1源文件的编写与保存

1.5.2编译

1.5.3运行

1.6Java应用程序的基本结构

1.7注释

1.8编程风格

1.8.1Allmans风格 

1.8.2Kernighan风格

1.9Java之父——James Gosling

1.10小结

习题1

第2章基本类型、数组和枚举类型

2.1标识符和关键字

2.1.1标识符

2.1.2关键字

2.2基本数据类型

2.2.1逻辑类型

2.2.2整数类型

2.2.3字符类型

2.2.4浮点类型

2.2.5基本数据类型的转换

2.3从命令行输入与输出数据

2.3.1输入基本型数据

2.3.2输出基本型数据

2.4数组

2.4.1声明数组

2.4.2创建数组

2.4.3数组元素的使用

2.4.4length的使用

2.4.5数组的初始化

2.4.6数组的引用

2.4.7数组的表示格式

2.4.8复制数组

2.4.9排序与使用二分法查找

2.5枚举类型

2.6小结

习题2

第3章运算符、表达式和语句

3.1运算符与表达式

3.1.1算术运算符与算术表达式

3.1.2自增、自减运算符

3.1.3算术混合运算的精度

3.1.4关系运算符与关系表达式

3.1.5逻辑运算符与逻辑表达式

3.1.6赋值运算符与赋值表达式

3.1.7位运算符

3.1.8instanceof 运算符

3.1.9运算符综述

3.2语句概述

3.3条件分支语句

3.3.1if语句

3.3.2ifelse语句

3.3.3ifelse ifelse 语句

3.4开关语句

3.5循环语句

3.5.1for循环语句

3.5.2while 循环语句

3.5.3dowhile循环语句

3.6break和continue语句

3.7数组与for语句

3.8枚举类型与for、switch语句

3.9小结

习题3

第4章类与对象

4.1编程语言的几个发展阶段

4.1.1面向机器语言

4.1.2面向过程语言

4.1.3面向对象语言

4.2类

4.2.1类的声明

4.2.2类体

4.2.3成员变量和局部变量

4.2.4方法

4.2.5方法重载

4.2.6构造方法

4.2.7类方法和实例方法

4.2.8几个值得注意的问题

4.3对象

4.3.1创建对象

4.3.2使用对象

4.3.3对象的引用和实体

4.4参数传值

4.4.1基本数据类型参数的传值

4.4.2引用类型参数的传值

4.4.3可变参数

4.4.4有理数的类封装

4.5对象的组合

4.6static关键字

4.6.1实例变量和类变量的区别

4.6.2实例方法和类方法的区别

4.7this关键字

4.7.1在构造方法中使用this

4.7.2在实例方法中使用this

4.8包

4.8.1包语句

4.8.2有包名的类的存储

4.8.3运行有包名的主类

4.9import语句

4.9.1引入类库中的类

4.9.2引入自定义包中的类

4.9.3使用无包名的类

4.9.4避免类名混淆

4.10访问权限

4.10.1私有变量和私有方法

4.10.2公有变量和公有方法

4.10.3友好变量和友好方法

4.10.4受保护的成员变量和方法

4.10.5public类与友好类

4.11基本数据类型的类封装

4.11.1Double和Float类

4.11.2Byte、Short、Integer和Long类

4.11.3Character类

4.11.4自动装箱与拆箱

4.12反编译器和文件生成器

4.12.1使用反编译器

4.12.2使用文件生成器

4.13JAR文件

4.14小结

习题4

第5章继承与接口

5.1子类与父类

5.2子类的继承性

5.2.1子类和父类在同一包中的继承性

5.2.2子类和父类不在同一包中的继承性

5.2.3protected的进一步说明

5.3子类对象的构造过程

5.4成员变量的隐藏和方法重写

5.4.1成员变量的隐藏

5.4.2方法重写

5.5super关键字

5.5.1使用super调用父类的构造方法

5.5.2使用super操作被隐藏的成员变量和方法

5.6final关键字

5.6.1final类

5.6.2final方法

5.6.3常量

5.7对象的上转型对象

5.8继承与多态

5.9abstract类和方法

5.9.1abstract类的特点

5.9.2abstract类与多态

5.10接口

5.10.1接口的声明与使用

5.10.2理解接口

5.10.3接口回调

5.10.4接口与多态

5.10.5abstract类与接口的比较

5.11小结

习题5

第6章内部类与异常类

6.1内部类

6.2匿名类

6.2.1和类有关的匿名类

6.2.2和接口有关的匿名类

6.3异常类

6.3.1trycatch语句

6.3.2自定义异常类

6.4finally子语句

6.5断言语句

6.6小结

习题6

第7章面向对象设计的基本原则

7.1UML类图简介

7.1.1类的UML图

7.1.2表示接口的UML图

7.1.3泛化关系

7.1.4关联关系

7.1.5依赖关系

7.1.6实现关系

7.1.7注释

7.2面向抽象原则

7.2.1抽象类和接口

7.2.2面向抽象

7.3开闭原则

7.4多用组合、少用继承原则

7.4.1继承与复用

7.4.2组合与复用

7.4.3组合与继承

7.5高内聚低耦合原则

7.6小结

习题7

第8章设计模式

8.1设计模式简介

8.1.1什么是设计模式

8.1.2学习设计模式的必要性

8.1.3什么是框架

8.1.4模式的分类

8.2策略模式

8.2.1策略模式的结构

8.2.2策略模式的使用

8.2.3策略模式的优点

8.2.4适合使用策略模式的情景

8.2.5策略模式相对继承机制的优势

8.3访问者模式

8.3.1访问者模式的结构

8.3.2访问者模式的使用

8.3.3双重分派

8.3.4访问者模式的优点

8.3.5适合使用访问者模式的情景

8.4装饰模式

8.4.1装饰模式的结构

8.4.2装饰模式的使用

8.4.3使用多个装饰者

8.4.4装饰模式相对继承机制的优势

8.4.5装饰模式的优点

8.4.6适合使用装饰模式的情景

8.5适配器模式

8.5.1适配器模式的结构

8.5.2适配器模式的使用

8.5.3适配器的适配程度

8.5.4单接口适配器

8.6工厂方法模式

8.6.1工厂方法模式的结构

8.6.2工厂方法模式的使用

8.7小结

习题8

第9章常用实用类

9.1String类

9.1.1构造字符串对象

9.1.2String类的常用方法

9.1.3字符串与基本数据的相互转化

9.1.4对象的字符串表示

9.1.5字符串与字符、字节数组

9.1.6正则表达式及字符串的替换与分解

9.2StringBuffer类

9.2.1StringBuffer对象的创建

9.2.2StringBuffer类的常用方法

9.3StringTokenizer类

9.4Scanner类

9.5Date和Calendar类

9.5.1Date类

9.5.2Calendar类

9.5.3日期的格式化

9.5.4不同区域的星期格式

9.6Math、BigInteger和Random类

9.6.1Math类

9.6.2BigInteger类

9.6.3Random类

9.7DecimalFormat类

9.7.1格式化数字

9.7.2将字符串转化为数字

9.8Pattern与Match类

9.8.1模式对象

9.8.2匹配对象

9.9Class类

9.9.1使用Class实例化一个对象

9.9.2获取类的有关信息

9.10小结

习题9

第10章Java Swing

10.1Java Swing概述

10.2窗口

10.2.1JFrame常用方法

10.2.2菜单条、菜单、菜单项

10.3常用组件、容器与布局

10.3.1常用组件

10.3.2常用容器

10.3.3常用布局

10.4处理事件

10.4.1事件处理模式

10.4.2ActionEvent事件

10.4.3ItemEvent事件

10.4.4DocumentEvent事件

10.4.5MouseEvent事件

10.4.6焦点事件

10.4.7键盘事件

10.4.8窗口事件

10.4.9用匿名类实例或窗口做监视器

10.4.10事件的总结

10.5使用MVC结构

10.6树组件与表格组件

10.6.1树组件

10.6.2表格组件

10.7将按钮绑定到键盘

10.8使用中介者模式

10.9发布GUI程序

10.10小结

习题10

第11章对话框

11.1JDialog类

11.1.1JDialog类的主要方法

11.1.2对话框的模式

11.2文件对话框

11.3消息对话框

11.4输入对话框

11.5确认对话框

11.6颜色对话框

11.7小结

习题11

第12章输入流与输出流

12.1File类

12.1.1文件的属性

12.1.2

12.1.3文件的创建与删除

12.1.4运行可执行文件

12.2文件字节流

12.2.1文件字节输入流

12.2.2文件字节输出流

12.2.3关闭流

12.3文件字符流

12.4缓冲流

12.5使用文件对话框

 12.6随机流

12.7数组流

12.8数据流

12.9带进度条的输入流

12.10对象流

12.11序列化与对象克隆

12.12文件锁

12.13使用Scanner类解析文件

12.14小结

习题12

第13章泛型与集合框架

13.1泛型

13.1.1泛型类的声明

13.1.2使用泛型类声明对象

13.1.3泛型接口

13.2链表

13.2.1LinkedListE泛型类

13.2.2LinkedListE泛型类的常用方法

13.2.3遍历链表

13.3堆栈

13.4散列映射

13.4.1HashMapK,V泛型类

13.4.2HashMapK,V泛型类的常用方法

13.4.3遍历散列映射

13.4.4基于散列映射的查询

13.5树集

13.5.1TreeSetE泛型类

13.5.2结点的大小关系

13.5.3TreeSet类的常用方法

13.6树映射

13.7自动装箱与拆箱的使用

13.8小结

习题13

第14章JDBC数据库操作

14.1Microsoft Access 数据库管理系统

14.1.1建立数据库

14.1.2创建表

14.2JDBC

14.3连接数据库

14.3.1连接方式的选择

14.3.2建立JDBCODBC桥接器

14.3.3ODBC数据源

14.3.4建立连接

14.4查询操作

14.4.1顺序查询

14.4.2随机查询

14.4.3条件查询

14.4.4排序查询

14.4.5模糊查询

14.5更新、添加与删除操作

14.6查询Excel电子表格

14.7使用预处理语句

14.7.1预处理语句的优点

14.7.2使用通配符

14.8事务

14.8.1事务及处理

14.8.2JDBC事务的处理步骤

14.9CachedRowSetImpl类

14.10Java的Derby内置数据库

14.11小结

习题14

第15章Java多线程机制

15.1Java中的线程

15.1.1程序、进程与线程

15.1.2线程的状态与生命周期

15.1.3线程的调度与优先级

15.2用Thread的子类创建线程

15.3使用Runnable接口

15.3.1Runnable接口与目标对象

15.3.2run()方法中的局部变量

15.3.3在线程中启动其他线程

15.4线程的常用方法

15.5GUI线程

15.6线程的同步

15.7在同步方法中使用wait()、notify()和notifyAll()方法

15.8计时器线程Timer

15.9线程的联合

15.10守护线程

15.11小结

习题15

第16章Java网络基础

16.1URL类

16.1.1URL的构造方法

16.1.2读取URL中的资源

16.1.3显示URL资源中的HTML文件

16.1.4处理超链接

16.2InetAdress类

16.2.1地址的表示

16.2.2获取地址

16.3套接字

16.3.1套接字Socket

16.3.2客户端的套接字对象

16.3.3ServerSocket类

16.3.4把套接字连接放在一个线程中

16.4UDP数据报

16.4.1发送数据包

16.4.2接收数据包

16.5广播数据报

16.6Java远程调用

16.6.1远程对象及其代理

16.6.2RMI的设计细节

16.7小结

习题16

第17章Java Applet

17.1Java Applet的结构

17.2Java Applet的运行原理

17.3在Java Applet中播放声音

17.4网页传值

17.5小结

习题17

参考文献

作者简介

编辑推荐

作者寄语

加入时,请写明:“学校+姓名”,并写明“加入教师群”,只限教师。

电子资料

www.luweidong.cn

下一个