书籍详情
Java 2 参考大全(TM 第四版)
作者:(美)Herbert Schildt著;张玉清[等]译;张玉清译
出版社:清华大学出版社
出版时间:2002-01-01
ISBN:9787302050162
定价:¥79.00
购买这本书可以去
内容简介
本书是世界一流的程序设计大师Herbert Schildt的力作。全书从介绍Java语言的基础知识入手,通过丰富的示例系统地介绍了Java语言基础知识、Java标准库及Java开发环境,让读者通过由简单到复杂的示例程序来逐步理解Java语言的精髓。Java的强大功能体现在它的标准库中,书中对Java标准库及其应用进行了完整深入的介绍,方便读者查阅,这部分内容是本书的重点。最后介绍了Java开发环境及几个综合应用示例,让读者达到学以致用的目的。本书涵盖了Java应用程序和小应用程序的开发、编译、调试和运行所需要的所有内容,并包括了Java开发工具包JDK 1.3的新增特性,是每一个Java程序员理想的参考大全。
作者简介
作者:HerbertSchildtHerbertSchildt,是世界顶级程序设计大师,全球顶尖编程图书作者之一。他是C、C++、Java和C#编程语言的权威,也是Windows编程方面的专家。拥有伊利诺斯大学的计算机科学硕士学位。他的编程书籍在世界范围内的销量已经超过3000000册,并被翻译成多种语言流传于世。Java实用教程(第3版)>>更多作品
目录
第1部分 Java语言
第1章 Java的起源
1.1 Java的由来
1.1.1 现代的编程语言的诞生:C语言
1.1.2 对C++的需要
1.1.3 Java出现的时机已经到来
1.2 Java的产生
1.3 Java对Internet为什么重要
1.3.1 Java小应用程序和应用程序
1.3.2 安全性
1.3.3 可移植性
1.4 Java的魔力:字节码
1.5 Java常用语
1.5.1 简单
1.5.2 面向对象
1.5.3 健壮
1.5.4 多线程
1.5.5 结构中立
1.5.6 解释性和高性能
1.5.7 分布式
1.5.8 动态
1.6 继续革命
1.7 Java不是增强的HTML
第2章 Java语言概述
2.1 面向对象编程
2.1.1 两种范型
2.1.2 抽象
2.1.3 面向对象编程的3个原则
2.2 第1个简单程序
2.2.1 键入程序
2.2.2 编译程序
2.2.3 详细讨论第1个示例程序
2.3 第2个示例程序
2.4 两个控制语句
2.4.1 if控制语句
2.4.2 for循环
2.5 使用程序块
2.6 基本词汇
2.6.1 空白分隔符(whitespace)
2.6.2 标识符(identifiers)
2.6.3 常量(literal)
2.6.4 注释(comments)
2.6.5 分隔符(separators)
2.6.6 Java关键字
2.6.7 Java类库
第3章 数据类型、变量、数组
3.1 Java语言是强类型语言
3.2 简单数据类型
3.3 整数类型
3.3.1 字节型(byte)
3.3.2 短整型(short)
3.3.3 整型(int)
3.3.4 长整型(long)
3.4 浮点型(Floating-Point Types)
3.4.1 单精度浮点型(float)
3.4.2 双精度型(double)浮点型
3.5 字符
3.6 布尔型
3.7 进一步研究字面量
3.7.1 整数字面量
3.7.2 浮点字面量
3.7.3 布尔型字面量
3.7.4 字符字面量
3.7.5 字符串字面量
3.8 变量
3.8.1 声明一个变量
3.8.2 动态初始化
3.8.3 变量的作用域和生存期
3.9 类型转换与强制类型转换
3.9.1 Java的自动转换
3.9.2 不兼容类型的强制转换
3.10 表达式中类型的自动提升
3.10.1 类型提升的约定
3.11 数组
3.11.1 一维数组
3.11.2 多维数组
3.11.3 另一种数组声明语法
3.12 字符串的简单介绍
3.13 C/C++程序员请注意指针的用法
第4章 运算符
4.1 算术运算符
4.1.1 基本算术运算符
4.1.2 模运算符
4.1.3 算术赋值运算符
4.1.4 递增和递减运算
4.2 位运算符
4.2.1 位逻辑运算符
4.2.2 左移运算符
4.2.3 右移运算符
4.2.4 无符号右移
4.2.5 位运算符赋值
4.3 关系运算符
4.4 布尔逻辑运算符
4.4.1 短路(short-circuit)逻辑运算符
4.5 赋值运算符
4.6 ?运算符
4.7 运算符优先级
4.8 使用圆括号
第5章 程序控制语句
5.1 Java的选择语句
5.1.1 if语句
5.1.2 switch语句
5.2 循环语句
5.2.1 while语句
5.2.2 do-while循环
5.2.3 for循环
5.2.4 for循环的一些变化
5.2.5 循环嵌套
5.3 跳转语句
5.3.1 使用break语句
5.3.2 使用continue语句
5.3.3 使用return语句
第6章 介绍类
6.1 类基础
6.1.1 类的通用格式
6.1.2 一个简单的类
6.2 声明对象
6.2.1 深入研究new运算符
6.3 给对象引用变量赋值
6.4 方法
6.4.1 为Box类添加一个方法
6.4.2 返回值
6.4.3 加入带自变量的方法
6.5 构造函数
6.5.1 带自变量的构造函数
6.6 this关键字
6.6.1 隐藏的实例变量
6.7 垃圾回收
6.8 finalize()方法
6.9 一个堆栈类
第7章 进一步研究方法和类
7.1 方法重载
7.1.1 构造函数重载
7.2 把对象作为参数
7.3 参数是如何传递的
7.4 返回对象
7.5 递归
7.6 介绍访问控制
7.7 理解static
7.8 介绍final
7.9 重新温习数组
7.10 介绍嵌套类和内部类
7.11 探索String类
7.12 使用命令行参数
第8章 继承
8.1 继承的基础
8.1.1 成员的访问和继承
8.1.2 更实际的例子
8.1.3 超类变量可以引用子类对象
8.2 使用super
8.2.1 使用super调用超类构造函数
8.2.2 Super的第2种用法
8.3 创建多级类层次
8.4 何时调用构造函数
8.5 方法重载
8.6 动态方法调度
8.6.1 为什么要重载方法
8.6.2 应用方法重载
8.7 使用抽象类
8.8 继承中使用final
8.8.1 使用final阻止重载
8.8.2 使用final阻止继承
8.9 Object类
第9章 包和接口
9.1 包
9.1.1 定义包
9.1.2 理解类路径(CLASSPATH)
9.1.3 一个简短的包的例子
9.2 访问保护
9.2.1 一个访问的例子
9.3 引入包
9.4 接口(interface)
9.4.1 接口定义
9.4.2 实现接口
9.4.3 应用接口
9.4.4 接口中的变量
9.4.5 接口可以扩展
第10章 异常处理
10.1 异常处理基础
10.2 异常类型
10.3 未被捕获的异常
10.4 使用try和catch
10.4.1 显示一个异常的描述
10.5 使用多重catch语句
10.6 嵌套try语句
10.7 引发(throw)
10.8 throws
10.9 finally
10.10 Java的内置异吊
10.11 创建自己的异常子类
10.12 使用异常
第11章 多线程编程
11.1 Java线程模型
11.1.1 线程优先级
11.1.2 同步性
11.1.3 消息传递
11.1.4 Thread类和Runnable接口
11.2 主线程
11.3 创建线程
11.3.1 实现Runnable接口
11.3.2 扩展Thread
11.3.3 选择合适方法
11.4 创建多线程
11.5 使用isAlive()和join()
11.6 线程优先级
11.7 线程同步
11.7.1 使用同步方法
11.7.2 同步语句
11.8 线程间通信
11.8.1 死锁
11.9 挂起、恢复和终止线程
11.9.1 Java 1.1或更早版本的线程的挂起、恢复和终止
11.9.2 Java 2中挂起、恢复和终止线程
11.10 使用多线程机制
第12章 输入/输出、小应用程序和其他主题
12.1 输入/输出基础
12.1.1 流的概念
12.1.2 字节流和字符流
12.1.3 预定义流
12.2 读取控制台输入
12.2.1 读取字符
12.2.2 读取字符串
12.3 向控制台写输出
12.4 PrintWriter类
12.5 文件的读写
12.6 小应用程序基础
12.7 Transient和volatile修饰符
12.8 使用instanceof
12.9 strictfp
12.10 本机方法
12.11 使用本机方法的问题
第2部分 Java库
第13章 字符串处理
13.1 String构造函数
13.2 字符串长度
13.3 特殊的字符串操作
13.3.1 字符串文字
13.3.2 字符串连接
13.3.3 字符串与其他类型数据的连接
13.3.4 字符串转换和toString()
13.4 字符截取
13.4.1 charAt()
13.4.2 getChars()
13.4.3 getBytes()
13.4.4 toCharArray()
13.5 字符串比较
13.5.1 equals()和equalsIgnoreCase()
13.5.2 regionMatches()
13.5.3 startsWith()和endsWith()
13.5.4 equals()与=的比较
13.5.5 compareTo()
13.6 搜索字符串
13.7 修改字符串
13.7.1 substring()
I3.7.2 concat()
13.7.3 replace()
13.7.4 trim()
13.8 利用valueOf()方法实现数据转换
13.9 改变字符串内字符的大小写
13.10 StringBuffer
13.10.1 StringBuffer构造函数
13.10.2 length()和capacity()
13.10.3 ensureCapacity()
13.10.4 setLength()
13.10.5 charAt()和setCharAt()
13.10.6 getChars()
13.10.7 append()
13.10.8 insert()
13.10.9 reverse()
13.10.10 delete()和deleteCharAt()
13.10.11 replace()
13.10.12 substring()
第14章 java.lang研究
14.1 简单类型包装器
14.1.1 Number
14.1.2 Double和Float
14.1.3 Byte,Short,Integer和Long
14.1.4 Character
14.1.5 Boolean
14.2 Void
14.3 Process
14.4 Runtime
14.4.1 内存管理
14.4.2 执行其他的程序
14.5 System
14.5.1 使用currentTimeMillis()记录程序执行的时间
14.5.2 使用arraycopy()
14.5.3 环境属性
14.6 Object
14.7 使用clone()和Cloneable接口
14.8 Class
14.9 ClassLoader
14.10 Math
14.10.1 超越函数
14.10.2 指数函数
14.10.3 舍入函数
14.10.4 其他的数学方法
14.11 StrictMath
14.12 Compiler
14.13 Thread,ThreadGroup和Runnable
14.13.1 Runnable接口
14.13.2 Thread
14.13.3 ThreadGroup
14.14 ThreadLocal和InheritableThreadLocal
14.15 Package
14.16 RuntimePermission
14.17 Throwable
14.18 SecurityManager
14.19 Comparable接口
14.20 java.lang.ref和java.lang.reflect包
14.20.1 java.lang.ref
14.20.2 java.lang.reflect
第15章 java.util第1部分:类集框架
15.1 类集概述
15.2 类集接口
15.2.1 类集接口
15.2.2 List接口
15.2.3 集合接口
15.2.4 SortedSet接口
15.3 Collection类
15.3.1 ArrayList类
15.3.2 LinkedList类
15.3.3 HashSet类
15.3.4 TreeSet类
15.4 通过迭代函数访问类集
15.4.1 使用迭代函数
15.5 将用户定义的类存储于Collection中
15.6 处理映射
15.6.1 映射接口
15.6.2 映射类
15.7 比较函数
15.7.1 使用比较函数
15.8 类集算法
15.9 Arrays(数组)
15.10 从以前版本遗留下来的类和接口
15.10.1 Enumeration接口
15.10.2 Vector
15.10.3 Stack
15.10.4 Dictionary
15.10.5 Hashtable
15.10.6 Properties
15.10.7 使用store()和load()
15.11 类集总结
第16章 java.util第2部分:更多的实用工具类
16.1 StringTokenizer(字符串标记)
16.2 BitSet(置位)
16.3 Date(日期)
16.3.1 比较日期
16.4 Calendar(日历)
16.5 GregorianCalendar(标准阳历)
16.6 TimeZone(时区)
16.7 SimpleTimeZone
16.8 Locale(地区)
16.9 Random
16.10 Observable(观测)
16.10.1 观测接口
16.10.2 观测程序举例
16.11 Timer和TimerTask
16.12 java.util.zip包
16.13 java.util.jar包
第17章 输入/输出:探究java.io
17.1 Java输入/输出类和接口
17.2 File(文件类)
17.2.1 目录
17.2.2 使用FilenameFilter
17.2.3 listFiles()方法
17.2.4 创建目录
17.3 流类
17.4 字节流
17.4.1 InputStream(输入流)
17.4.2 OutputStream(输出流)
17.4.3 FileInputStream(文件输入流)
17.4.4 FileOutputStream(文件输出流)
17.4.5 ByteArrayInputStream(字节数组输入流)
17.4.6 ByteArrayOutStream(字节数组输出流)
17.4.7 过滤字节流
17.4.8 缓冲字节流
17.4.9 SequenceInputStream(顺序输入流)
17.4.10 PrintStream(打印流)
17.4.11 RandomAccessFile(随机访问文件类)
17.5 字符流
17.5.1 Reader
17.5.2 Writer
17.5.3 FileReader
17.5.4 FileWriter
17.5.5 CharArrayReader
17.5.6 CharArrayWriter
17.5.7 BufferedReader
17.5.8 BufferedWriter
17.5.9 PushbackReader
17.5.10 PrintWriter
17.6 使用流式输入/输出
17.6.1 用StreamTokenizer(流标记)来改善wc()
17.7 序列化
17.7.1 Serializable接口
17.7.2 Externalizable接口
17.7.3 ObjectOutput接口
17.7.4 ObjectOutputStream类
17.7.5 ObjectInput
17.7.6 ObjectInputStream
17.7.7 序列化示例
17.8 流的益处
第18章 网络
18.1 网络基础
18.1.1 套接字概述
18.1.2 客户/服务器模式
18.1.3 保留套接字
18.1.4 代理服务器
18.1.5 Internet编址
18.2 JAVA和网络
18.2.1 网络类和接口
18.3 InetAddress类
18.3.1 工厂方法
18.3.2 实例方法
18.4 TCP/IP客户套接宇
18.4.1 Whois
18.5 URL
18.5.1 格式化(Format)
18.6 URLConnection类
18.7 TCP/IP服务器套接字
18.8 缓存代理HTTP服务器
18.8.1 源代码
18.9 数据报
18.9.1 DatagramPacket
18.9.2 数据报服务器和客户
18.10 网络价值
第19章 Applet类
19.1 Applet基础
19.1.1 Applet类
19.2 Applet体系结构
19.3 Applet主框架
19.3.1 Applet的初始化与终止
19.3.2 重载update()方法
19.4 简单的小应用程序显示方法
19.5 请求重画
19.5.1 一个简单的banner小应用程序
19.6 使用状态窗口
19.7 HTML APPLET标记
19.8 向小应用程序传递参数
19.8.1 对程序Banner Applet的改进
19.9 getDocumentBase()和getCodeBase()
19.10 AppletContext和showDocument()
19.11 AudioClip接口
19.12 AppletStub接口
19.13 向控制台的输出
第20章 事件处理
20.1 两种事件处理机制
20.2 授权事件模型
20.2.1 事件
20.2.2 事件源
20.2.3 事件监听器
20.3 事件类
20.3.1 ActionEvent类
20.3.2 AdjustmentEvent类
20.3.3 ComponentEvent类
20.3.4 ContainerEvent类
20.3.5 FocusEvent类
20.3.6 InputEvent类
20.3.7 ItemEvent类
20.3.8 KeyEvent类
20.3.9 MouseEvent类
20.3.10 The TextEvent类
20.3.11 WindowEvent类
20.4 事件源
20.5 事件监听器接口
20.5.1 ActionListener接口
20.5.2 AdjustmentListener接口
20.5.3 ComponentListener接口
20.5.4 ContainerListener接口
20.5.5 FocusListener接口
20.5.6 ItemListener接口
20.5.7 KeyListener接口
20.5.8 MouseListener接口
20.5.9 MouseMotionListener接口
20.5.10 TextListener接口
20.5.11 WindowListener接口
20.6 使用授权事件模型
20.6.1 处理鼠标事件
20.6.2 处理键盘事件
20.7 Adapter类
20.8 Inner类
20.8.1 匿名内部类
第21章 介绍AWT:使用窗口、图形、文本
21.1 AWT类
21.2 窗口基本原理
21.2.1 组件(Component)
21.2.2 容器(Container)
21.2.3 面板(Panel)
21.2.4 窗口(Window)
21.2.5 框架(Frame)
21.2.6 画布(Canvas)
21.3 用Frame窗口工作
21.3.1 设置窗口大小
21.3.2 隐藏和显示一个窗口
21.3.3 设置富日标题
21.3.4 关闭frame窗口
21.4 在小应用程序中创建一个frame窗口
21.4.1 在Frame的窗口中处理事件
21.5 创建一个基于窗口的程序
21.6 在窗口中显信息
21.7 使用图形
21.7.1 画线
21.7.2 画矩形
21.7.3 绘制椭圆和圆
21.7.4 画圆弧
21.7.5 绘制多边形
21.7.6 改变图像的大小
21.8 使用颜色
21.8.1 有关颜色的方法
21.8.2 设置当前图形颜色
21.8.3 一个有关颜色的例子
21.9 设置绘图模式
21.10 使用字体
21.10.1 决定可用的字体
21.10.2 创建和选择一种字体
21.10.3 获取字体信息
21.11 通过FontMetrics来管理文本输出
21.11.1 显示多行文字
21.11.2 居中
21.11.3 多行文本对齐
21.12 关于文字和图形
第22章 使用AWT控件、布局管理器和菜单
22.1 基本控件
22.1.1 增加和删除控件
22.1.2 对控件的响应
22.2 标签
22.3 使用按钮
22.3.1 按钮事件处理
22.4 使用复选框
22.4.1 处理复选框
22.5 复选框组
22.6 选择框控件
22.6.1 处理选择框列表
22.7 使用列表框
22.7.1 处理列表框
22.8 管理滚动条
22.8.1 处理滚动条
22.9 使用文本区
22.9.1 处理TextField
22.10 使用TextArea
22.11 理解布局管理器
22.11.1 FlowLayout
22.11.2 BorderLayout
22.11.3 使用间隔
22.11.4 GridLayout
22.11.5 CardLayout
22.12 菜单栏与菜单
22.13 对话框
22.14 文件对话框
22.15 扩展AWT组件进行事件处理
22.15.1 扩展按钮(Button)
22.15.2 扩展复选框(Checkbox)
22.15.3 扩展一个复选框组(Check box group)
22.15.4 扩展选择框(choice)
22.15.5 扩展列表框(List)
22.15.6 扩展滚动条(Scrollbar)
22.16 开发控件、菜单和布局管理器
第23章 图像
23.1 文件格式
23.2 图像基本操作:创建,加载和显示
23.2.1 创建一个图像对象
23.2.2 加载一个图像
23.2.3 显示图像
23.3 ImageObserver
23.3.1 ImageObserver示例
23.4 双缓冲
23.5 MediaTracker
23.6 ImageProducer
23.6.1 MemoryImageSource
23.7 ImageConsumer
23.7.1 PixelGrabber
23.8 ImageFilter
23.8.1 CropImageFilter
23.8.2 RGBImageFilter
23.9 单元动画
23.10 其他Java 2图像类
第3部分 Java软件开发技术
第24章 附加的包
24.1 核心Java API包
24.2 自省
24.3 远程方法调用
24.3.1 一个使用了RMI技术的简单的客户机/服务器应用程序
24.4 文本的格式化
24.4.1 DateFormat类
24.4.2 SimpleDateFormat类
第25章 Java Beans
25.1 Java Bean是什么
25.2 Java Beans的优点
25.3 应用程序开发工具
25.4 Bean开发工具包(BDK)
25.4.1 安装BDK
25.4.2 启动BDK
25.4.3 使用BDK
25.5 JAR文件
25.5.1 清单文件(Manifest Files)
25.5.2 JAR工具
25.6 内省
25.6.1 属性的设计模式
25.6.2 事件的设计模式
25.6.3 方法
25.7 开发一个简单的Bean
25.7.1 创建一个新Bean
25.8 使用限制属性
25.8.1 步骤
25.9 使用BeanInfo接口
25.10 受限属性
25.11 持久性
25.12 定制器
25.13 Java Beans API
第26章 Swing
26.1 JApplet
26.2 图标和标记
26.3 文本域
26.4 按钮
26.4.1 JButton类
26.4.2 复选框
26.4.3 单选按钮
26.5 组合框
26.6 选项窗格
26.7 滚动窗格
26.8 Trees
26.9 表格
26.10 深入研究Swing
第27章 从C++到Java
27.1 C++和Java的区别
27.1.1 Java摈弃的C++内容
27.1.2 Java的新特性
27.1.3 Java和C++的不同特性
27.2 消除指针
27.2.1 转换指针参数
27.2.2 转换用于数组操作的指针
27.3 C++引用参数与Java引用参数
27.4 将C++抽象类转换为Java的接口
27.5 转换默认自变量
27.6 转换C++的多重继承层次结构
27.7 析构函数与finalize()
第4部分 应用Java
第28章 DynamicBillboard小应用程序
28.1 APPLET标记
28.2 源代码概述
28.2.1 DynamicBillboard.java
28.2.2 BillData.java
28.2.3 BillTransition.java
28.2.4 ColumnTransition.java
28.2.5 FadeTransition.java
28.2.6 SmashTransition.java
28.2.7 TearTransition.java
28.2.8 UnrollTransition.java
28.3 动态代码
第29章 ImageMenu:一个基于图像的Web菜单
29.1 源图像
29.2 APPLET标记
29.3 方法
29.3.1 init()
29.3.2 update()
29.3.3 lateInit()
29.3.4 paint()
29.3.5 mouseExited()
29.3.6 mouseDragged()
29.3.7 mouseMoved()
29.3.8 mouseReleased()
29.3.9 程序代码
29.4 小结
第30章 Lavatron小应用程序:运动竞技场的显示牌
30.1 Lavatron的工作过程
30.2 源代码
30.2.1 APPLET标记
30.2.2 Lavatron.java
30.2.3 IntHash()
30.3 小结
第31章 Scrabblet:多玩家的猜字游戏
31.1 网络安全问题
31.2 游戏
31.2.1 计分方法
31.3 源代码
31.3.1 APPLET标记
31.3.2 Scrabblet.java
31.3.3 IntroCanvas.java
31.3.4 Board.java
31.3.5 Bag.java
31.3.6 Letter.java
31.3.7 ServerConnection.java
31.4 服务器程序代码
31.4.1 Server.java
31.4.2 CliemConnection.java
31.5 改进Scrabblet
附录 使用Java的文档注释
本书是世界一流的程序设计大师Herbert Schildt的力作。
全书从介绍Java语言的基础知识入手,通过丰富的示例系统地介绍了Java语言基础知识、Java标准库及Java开发环境,让读者通过由简单到复杂的示例程序来逐步理解Java语言的精髓。Java的强大功能体现在它的标准库中,书中对Java标准库及其应用进行了完整深入的介绍,方便读者查阅,这部分内容是本书的重点。最后介绍了Java开发环境及几个综合应用示例,让读者达到学以致用的目的。
本书涵盖了Java应用程序和小应用程序的开发、编译、调试和运行所需要的所有内容,并包括了Java开发工具包JDK 1.3的新增特性,是每一个Java程序员理想的参考大全。
第1部分 Java语言
第1章 Java的起源
1.1 Java的由来
1.1.1 现代的编程语言的诞生:C语言
1.1.2 对C++的需要
1.1.3 Java出现的时机已经到来
1.2 Java的产生
1.3 Java对Internet为什么重要
1.3.1 Java小应用程序和应用程序
1.3.2 安全性
1.3.3 可移植性
1.4 Java的魔力:字节码
1.5 Java常用语
1.5.1 简单
1.5.2 面向对象
1.5.3 健壮
1.5.4 多线程
1.5.5 结构中立
1.5.6 解释性和高性能
1.5.7 分布式
1.5.8 动态
1.6 继续革命
1.7 Java不是增强的HTML
第2章 Java语言概述
2.1 面向对象编程
2.1.1 两种范型
2.1.2 抽象
2.1.3 面向对象编程的3个原则
2.2 第1个简单程序
2.2.1 键入程序
2.2.2 编译程序
2.2.3 详细讨论第1个示例程序
2.3 第2个示例程序
2.4 两个控制语句
2.4.1 if控制语句
2.4.2 for循环
2.5 使用程序块
2.6 基本词汇
2.6.1 空白分隔符(whitespace)
2.6.2 标识符(identifiers)
2.6.3 常量(literal)
2.6.4 注释(comments)
2.6.5 分隔符(separators)
2.6.6 Java关键字
2.6.7 Java类库
第3章 数据类型、变量、数组
3.1 Java语言是强类型语言
3.2 简单数据类型
3.3 整数类型
3.3.1 字节型(byte)
3.3.2 短整型(short)
3.3.3 整型(int)
3.3.4 长整型(long)
3.4 浮点型(Floating-Point Types)
3.4.1 单精度浮点型(float)
3.4.2 双精度型(double)浮点型
3.5 字符
3.6 布尔型
3.7 进一步研究字面量
3.7.1 整数字面量
3.7.2 浮点字面量
3.7.3 布尔型字面量
3.7.4 字符字面量
3.7.5 字符串字面量
3.8 变量
3.8.1 声明一个变量
3.8.2 动态初始化
3.8.3 变量的作用域和生存期
3.9 类型转换与强制类型转换
3.9.1 Java的自动转换
3.9.2 不兼容类型的强制转换
3.10 表达式中类型的自动提升
3.10.1 类型提升的约定
3.11 数组
3.11.1 一维数组
3.11.2 多维数组
3.11.3 另一种数组声明语法
3.12 字符串的简单介绍
3.13 C/C++程序员请注意指针的用法
第4章 运算符
4.1 算术运算符
4.1.1 基本算术运算符
4.1.2 模运算符
4.1.3 算术赋值运算符
4.1.4 递增和递减运算
4.2 位运算符
4.2.1 位逻辑运算符
4.2.2 左移运算符
4.2.3 右移运算符
4.2.4 无符号右移
4.2.5 位运算符赋值
4.3 关系运算符
4.4 布尔逻辑运算符
4.4.1 短路(short-circuit)逻辑运算符
4.5 赋值运算符
4.6 ?运算符
4.7 运算符优先级
4.8 使用圆括号
第5章 程序控制语句
5.1 Java的选择语句
5.1.1 if语句
5.1.2 switch语句
5.2 循环语句
5.2.1 while语句
5.2.2 do-while循环
5.2.3 for循环
5.2.4 for循环的一些变化
5.2.5 循环嵌套
5.3 跳转语句
5.3.1 使用break语句
5.3.2 使用continue语句
5.3.3 使用return语句
第6章 介绍类
6.1 类基础
6.1.1 类的通用格式
6.1.2 一个简单的类
6.2 声明对象
6.2.1 深入研究new运算符
6.3 给对象引用变量赋值
6.4 方法
6.4.1 为Box类添加一个方法
6.4.2 返回值
6.4.3 加入带自变量的方法
6.5 构造函数
6.5.1 带自变量的构造函数
6.6 this关键字
6.6.1 隐藏的实例变量
6.7 垃圾回收
6.8 finalize()方法
6.9 一个堆栈类
第7章 进一步研究方法和类
7.1 方法重载
7.1.1 构造函数重载
7.2 把对象作为参数
7.3 参数是如何传递的
7.4 返回对象
7.5 递归
7.6 介绍访问控制
7.7 理解static
7.8 介绍final
7.9 重新温习数组
7.10 介绍嵌套类和内部类
7.11 探索String类
7.12 使用命令行参数
第8章 继承
8.1 继承的基础
8.1.1 成员的访问和继承
8.1.2 更实际的例子
8.1.3 超类变量可以引用子类对象
8.2 使用super
8.2.1 使用super调用超类构造函数
8.2.2 Super的第2种用法
8.3 创建多级类层次
8.4 何时调用构造函数
8.5 方法重载
8.6 动态方法调度
8.6.1 为什么要重载方法
8.6.2 应用方法重载
8.7 使用抽象类
8.8 继承中使用final
8.8.1 使用final阻止重载
8.8.2 使用final阻止继承
8.9 Object类
第9章 包和接口
9.1 包
9.1.1 定义包
9.1.2 理解类路径(CLASSPATH)
9.1.3 一个简短的包的例子
9.2 访问保护
9.2.1 一个访问的例子
9.3 引入包
9.4 接口(interface)
9.4.1 接口定义
9.4.2 实现接口
9.4.3 应用接口
9.4.4 接口中的变量
9.4.5 接口可以扩展
第10章 异常处理
10.1 异常处理基础
10.2 异常类型
10.3 未被捕获的异常
10.4 使用try和catch
10.4.1 显示一个异常的描述
10.5 使用多重catch语句
10.6 嵌套try语句
10.7 引发(throw)
10.8 throws
10.9 finally
10.10 Java的内置异吊
10.11 创建自己的异常子类
10.12 使用异常
第11章 多线程编程
11.1 Java线程模型
11.1.1 线程优先级
11.1.2 同步性
11.1.3 消息传递
11.1.4 Thread类和Runnable接口
11.2 主线程
11.3 创建线程
11.3.1 实现Runnable接口
11.3.2 扩展Thread
11.3.3 选择合适方法
11.4 创建多线程
11.5 使用isAlive()和join()
11.6 线程优先级
11.7 线程同步
11.7.1 使用同步方法
11.7.2 同步语句
11.8 线程间通信
11.8.1 死锁
11.9 挂起、恢复和终止线程
11.9.1 Java 1.1或更早版本的线程的挂起、恢复和终止
11.9.2 Java 2中挂起、恢复和终止线程
11.10 使用多线程机制
第12章 输入/输出、小应用程序和其他主题
12.1 输入/输出基础
12.1.1 流的概念
12.1.2 字节流和字符流
12.1.3 预定义流
12.2 读取控制台输入
12.2.1 读取字符
12.2.2 读取字符串
12.3 向控制台写输出
12.4 PrintWriter类
12.5 文件的读写
12.6 小应用程序基础
12.7 Transient和volatile修饰符
12.8 使用instanceof
12.9 strictfp
12.10 本机方法
12.11 使用本机方法的问题
第2部分 Java库
第13章 字符串处理
13.1 String构造函数
13.2 字符串长度
13.3 特殊的字符串操作
13.3.1 字符串文字
13.3.2 字符串连接
13.3.3 字符串与其他类型数据的连接
13.3.4 字符串转换和toString()
13.4 字符截取
13.4.1 charAt()
13.4.2 getChars()
13.4.3 getBytes()
13.4.4 toCharArray()
13.5 字符串比较
13.5.1 equals()和equalsIgnoreCase()
13.5.2 regionMatches()
13.5.3 startsWith()和endsWith()
13.5.4 equals()与=的比较
13.5.5 compareTo()
13.6 搜索字符串
13.7 修改字符串
13.7.1 substring()
I3.7.2 concat()
13.7.3 replace()
13.7.4 trim()
13.8 利用valueOf()方法实现数据转换
13.9 改变字符串内字符的大小写
13.10 StringBuffer
13.10.1 StringBuffer构造函数
13.10.2 length()和capacity()
13.10.3 ensureCapacity()
13.10.4 setLength()
13.10.5 charAt()和setCharAt()
13.10.6 getChars()
13.10.7 append()
13.10.8 insert()
13.10.9 reverse()
13.10.10 delete()和deleteCharAt()
13.10.11 replace()
13.10.12 substring()
第14章 java.lang研究
14.1 简单类型包装器
14.1.1 Number
14.1.2 Double和Float
14.1.3 Byte,Short,Integer和Long
14.1.4 Character
14.1.5 Boolean
14.2 Void
14.3 Process
14.4 Runtime
14.4.1 内存管理
14.4.2 执行其他的程序
14.5 System
14.5.1 使用currentTimeMillis()记录程序执行的时间
14.5.2 使用arraycopy()
14.5.3 环境属性
14.6 Object
14.7 使用clone()和Cloneable接口
14.8 Class
14.9 ClassLoader
14.10 Math
14.10.1 超越函数
14.10.2 指数函数
14.10.3 舍入函数
14.10.4 其他的数学方法
14.11 StrictMath
14.12 Compiler
14.13 Thread,ThreadGroup和Runnable
14.13.1 Runnable接口
14.13.2 Thread
14.13.3 ThreadGroup
14.14 ThreadLocal和InheritableThreadLocal
14.15 Package
14.16 RuntimePermission
14.17 Throwable
14.18 SecurityManager
14.19 Comparable接口
14.20 java.lang.ref和java.lang.reflect包
14.20.1 java.lang.ref
14.20.2 java.lang.reflect
第15章 java.util第1部分:类集框架
15.1 类集概述
15.2 类集接口
15.2.1 类集接口
15.2.2 List接口
15.2.3 集合接口
15.2.4 SortedSet接口
15.3 Collection类
15.3.1 ArrayList类
15.3.2 LinkedList类
15.3.3 HashSet类
15.3.4 TreeSet类
15.4 通过迭代函数访问类集
15.4.1 使用迭代函数
15.5 将用户定义的类存储于Collection中
15.6 处理映射
15.6.1 映射接口
15.6.2 映射类
15.7 比较函数
15.7.1 使用比较函数
15.8 类集算法
15.9 Arrays(数组)
15.10 从以前版本遗留下来的类和接口
15.10.1 Enumeration接口
15.10.2 Vector
15.10.3 Stack
15.10.4 Dictionary
15.10.5 Hashtable
15.10.6 Properties
15.10.7 使用store()和load()
15.11 类集总结
第16章 java.util第2部分:更多的实用工具类
16.1 StringTokenizer(字符串标记)
16.2 BitSet(置位)
16.3 Date(日期)
16.3.1 比较日期
16.4 Calendar(日历)
16.5 GregorianCalendar(标准阳历)
16.6 TimeZone(时区)
16.7 SimpleTimeZone
16.8 Locale(地区)
16.9 Random
16.10 Observable(观测)
16.10.1 观测接口
16.10.2 观测程序举例
16.11 Timer和TimerTask
16.12 java.util.zip包
16.13 java.util.jar包
第17章 输入/输出:探究java.io
17.1 Java输入/输出类和接口
17.2 File(文件类)
17.2.1 目录
17.2.2 使用FilenameFilter
17.2.3 listFiles()方法
17.2.4 创建目录
17.3 流类
17.4 字节流
17.4.1 InputStream(输入流)
17.4.2 OutputStream(输出流)
17.4.3 FileInputStream(文件输入流)
17.4.4 FileOutputStream(文件输出流)
17.4.5 ByteArrayInputStream(字节数组输入流)
17.4.6 ByteArrayOutStream(字节数组输出流)
17.4.7 过滤字节流
17.4.8 缓冲字节流
17.4.9 SequenceInputStream(顺序输入流)
17.4.10 PrintStream(打印流)
17.4.11 RandomAccessFile(随机访问文件类)
17.5 字符流
17.5.1 Reader
17.5.2 Writer
17.5.3 FileReader
17.5.4 FileWriter
17.5.5 CharArrayReader
17.5.6 CharArrayWriter
17.5.7 BufferedReader
17.5.8 BufferedWriter
17.5.9 PushbackReader
17.5.10 PrintWriter
17.6 使用流式输入/输出
17.6.1 用StreamTokenizer(流标记)来改善wc()
17.7 序列化
17.7.1 Serializable接口
17.7.2 Externalizable接口
17.7.3 ObjectOutput接口
17.7.4 ObjectOutputStream类
17.7.5 ObjectInput
17.7.6 ObjectInputStream
17.7.7 序列化示例
17.8 流的益处
第18章 网络
18.1 网络基础
18.1.1 套接字概述
18.1.2 客户/服务器模式
18.1.3 保留套接字
18.1.4 代理服务器
18.1.5 Internet编址
18.2 JAVA和网络
18.2.1 网络类和接口
18.3 InetAddress类
18.3.1 工厂方法
18.3.2 实例方法
18.4 TCP/IP客户套接宇
18.4.1 Whois
18.5 URL
18.5.1 格式化(Format)
18.6 URLConnection类
18.7 TCP/IP服务器套接字
18.8 缓存代理HTTP服务器
18.8.1 源代码
18.9 数据报
18.9.1 DatagramPacket
18.9.2 数据报服务器和客户
18.10 网络价值
第19章 Applet类
19.1 Applet基础
19.1.1 Applet类
19.2 Applet体系结构
19.3 Applet主框架
19.3.1 Applet的初始化与终止
19.3.2 重载update()方法
19.4 简单的小应用程序显示方法
19.5 请求重画
19.5.1 一个简单的banner小应用程序
19.6 使用状态窗口
19.7 HTML APPLET标记
19.8 向小应用程序传递参数
19.8.1 对程序Banner Applet的改进
19.9 getDocumentBase()和getCodeBase()
19.10 AppletContext和showDocument()
19.11 AudioClip接口
19.12 AppletStub接口
19.13 向控制台的输出
第20章 事件处理
20.1 两种事件处理机制
20.2 授权事件模型
20.2.1 事件
20.2.2 事件源
20.2.3 事件监听器
20.3 事件类
20.3.1 ActionEvent类
20.3.2 AdjustmentEvent类
20.3.3 ComponentEvent类
20.3.4 ContainerEvent类
20.3.5 FocusEvent类
20.3.6 InputEvent类
20.3.7 ItemEvent类
20.3.8 KeyEvent类
20.3.9 MouseEvent类
20.3.10 The TextEvent类
20.3.11 WindowEvent类
20.4 事件源
20.5 事件监听器接口
20.5.1 ActionListener接口
20.5.2 AdjustmentListener接口
20.5.3 ComponentListener接口
20.5.4 ContainerListener接口
20.5.5 FocusListener接口
20.5.6 ItemListener接口
20.5.7 KeyListener接口
20.5.8 MouseListener接口
20.5.9 MouseMotionListener接口
20.5.10 TextListener接口
20.5.11 WindowListener接口
20.6 使用授权事件模型
20.6.1 处理鼠标事件
20.6.2 处理键盘事件
20.7 Adapter类
20.8 Inner类
20.8.1 匿名内部类
第21章 介绍AWT:使用窗口、图形、文本
21.1 AWT类
21.2 窗口基本原理
21.2.1 组件(Component)
21.2.2 容器(Container)
21.2.3 面板(Panel)
21.2.4 窗口(Window)
21.2.5 框架(Frame)
21.2.6 画布(Canvas)
21.3 用Frame窗口工作
21.3.1 设置窗口大小
21.3.2 隐藏和显示一个窗口
21.3.3 设置富日标题
21.3.4 关闭frame窗口
21.4 在小应用程序中创建一个frame窗口
21.4.1 在Frame的窗口中处理事件
21.5 创建一个基于窗口的程序
21.6 在窗口中显信息
21.7 使用图形
21.7.1 画线
21.7.2 画矩形
21.7.3 绘制椭圆和圆
21.7.4 画圆弧
21.7.5 绘制多边形
21.7.6 改变图像的大小
21.8 使用颜色
21.8.1 有关颜色的方法
21.8.2 设置当前图形颜色
21.8.3 一个有关颜色的例子
21.9 设置绘图模式
21.10 使用字体
21.10.1 决定可用的字体
21.10.2 创建和选择一种字体
21.10.3 获取字体信息
21.11 通过FontMetrics来管理文本输出
21.11.1 显示多行文字
21.11.2 居中
21.11.3 多行文本对齐
21.12 关于文字和图形
第22章 使用AWT控件、布局管理器和菜单
22.1 基本控件
22.1.1 增加和删除控件
22.1.2 对控件的响应
22.2 标签
22.3 使用按钮
22.3.1 按钮事件处理
22.4 使用复选框
22.4.1 处理复选框
22.5 复选框组
22.6 选择框控件
22.6.1 处理选择框列表
22.7 使用列表框
22.7.1 处理列表框
22.8 管理滚动条
22.8.1 处理滚动条
22.9 使用文本区
22.9.1 处理TextField
22.10 使用TextArea
22.11 理解布局管理器
22.11.1 FlowLayout
22.11.2 BorderLayout
22.11.3 使用间隔
22.11.4 GridLayout
22.11.5 CardLayout
22.12 菜单栏与菜单
22.13 对话框
22.14 文件对话框
22.15 扩展AWT组件进行事件处理
22.15.1 扩展按钮(Button)
22.15.2 扩展复选框(Checkbox)
22.15.3 扩展一个复选框组(Check box group)
22.15.4 扩展选择框(choice)
22.15.5 扩展列表框(List)
22.15.6 扩展滚动条(Scrollbar)
22.16 开发控件、菜单和布局管理器
第23章 图像
23.1 文件格式
23.2 图像基本操作:创建,加载和显示
23.2.1 创建一个图像对象
23.2.2 加载一个图像
23.2.3 显示图像
23.3 ImageObserver
23.3.1 ImageObserver示例
23.4 双缓冲
23.5 MediaTracker
23.6 ImageProducer
23.6.1 MemoryImageSource
23.7 ImageConsumer
23.7.1 PixelGrabber
23.8 ImageFilter
23.8.1 CropImageFilter
23.8.2 RGBImageFilter
23.9 单元动画
23.10 其他Java 2图像类
第3部分 Java软件开发技术
第24章 附加的包
24.1 核心Java API包
24.2 自省
24.3 远程方法调用
24.3.1 一个使用了RMI技术的简单的客户机/服务器应用程序
24.4 文本的格式化
24.4.1 DateFormat类
24.4.2 SimpleDateFormat类
第25章 Java Beans
25.1 Java Bean是什么
25.2 Java Beans的优点
25.3 应用程序开发工具
25.4 Bean开发工具包(BDK)
25.4.1 安装BDK
25.4.2 启动BDK
25.4.3 使用BDK
25.5 JAR文件
25.5.1 清单文件(Manifest Files)
25.5.2 JAR工具
25.6 内省
25.6.1 属性的设计模式
25.6.2 事件的设计模式
25.6.3 方法
25.7 开发一个简单的Bean
25.7.1 创建一个新Bean
25.8 使用限制属性
25.8.1 步骤
25.9 使用BeanInfo接口
25.10 受限属性
25.11 持久性
25.12 定制器
25.13 Java Beans API
第26章 Swing
26.1 JApplet
26.2 图标和标记
26.3 文本域
26.4 按钮
26.4.1 JButton类
26.4.2 复选框
26.4.3 单选按钮
26.5 组合框
26.6 选项窗格
26.7 滚动窗格
26.8 Trees
26.9 表格
26.10 深入研究Swing
第27章 从C++到Java
27.1 C++和Java的区别
27.1.1 Java摈弃的C++内容
27.1.2 Java的新特性
27.1.3 Java和C++的不同特性
27.2 消除指针
27.2.1 转换指针参数
27.2.2 转换用于数组操作的指针
27.3 C++引用参数与Java引用参数
27.4 将C++抽象类转换为Java的接口
27.5 转换默认自变量
27.6 转换C++的多重继承层次结构
27.7 析构函数与finalize()
第4部分 应用Java
第28章 DynamicBillboard小应用程序
28.1 APPLET标记
28.2 源代码概述
28.2.1 DynamicBillboard.java
28.2.2 BillData.java
28.2.3 BillTransition.java
28.2.4 ColumnTransition.java
28.2.5 FadeTransition.java
28.2.6 SmashTransition.java
28.2.7 TearTransition.java
28.2.8 UnrollTransition.java
28.3 动态代码
第29章 ImageMenu:一个基于图像的Web菜单
29.1 源图像
29.2 APPLET标记
29.3 方法
29.3.1 init()
29.3.2 update()
29.3.3 lateInit()
29.3.4 paint()
29.3.5 mouseExited()
29.3.6 mouseDragged()
29.3.7 mouseMoved()
29.3.8 mouseReleased()
29.3.9 程序代码
29.4 小结
第30章 Lavatron小应用程序:运动竞技场的显示牌
30.1 Lavatron的工作过程
30.2 源代码
30.2.1 APPLET标记
30.2.2 Lavatron.java
30.2.3 IntHash()
30.3 小结
第31章 Scrabblet:多玩家的猜字游戏
31.1 网络安全问题
31.2 游戏
31.2.1 计分方法
31.3 源代码
31.3.1 APPLET标记
31.3.2 Scrabblet.java
31.3.3 IntroCanvas.java
31.3.4 Board.java
31.3.5 Bag.java
31.3.6 Letter.java
31.3.7 ServerConnection.java
31.4 服务器程序代码
31.4.1 Server.java
31.4.2 CliemConnection.java
31.5 改进Scrabblet
附录 使用Java的文档注释
第1章 Java的起源
1.1 Java的由来
1.1.1 现代的编程语言的诞生:C语言
1.1.2 对C++的需要
1.1.3 Java出现的时机已经到来
1.2 Java的产生
1.3 Java对Internet为什么重要
1.3.1 Java小应用程序和应用程序
1.3.2 安全性
1.3.3 可移植性
1.4 Java的魔力:字节码
1.5 Java常用语
1.5.1 简单
1.5.2 面向对象
1.5.3 健壮
1.5.4 多线程
1.5.5 结构中立
1.5.6 解释性和高性能
1.5.7 分布式
1.5.8 动态
1.6 继续革命
1.7 Java不是增强的HTML
第2章 Java语言概述
2.1 面向对象编程
2.1.1 两种范型
2.1.2 抽象
2.1.3 面向对象编程的3个原则
2.2 第1个简单程序
2.2.1 键入程序
2.2.2 编译程序
2.2.3 详细讨论第1个示例程序
2.3 第2个示例程序
2.4 两个控制语句
2.4.1 if控制语句
2.4.2 for循环
2.5 使用程序块
2.6 基本词汇
2.6.1 空白分隔符(whitespace)
2.6.2 标识符(identifiers)
2.6.3 常量(literal)
2.6.4 注释(comments)
2.6.5 分隔符(separators)
2.6.6 Java关键字
2.6.7 Java类库
第3章 数据类型、变量、数组
3.1 Java语言是强类型语言
3.2 简单数据类型
3.3 整数类型
3.3.1 字节型(byte)
3.3.2 短整型(short)
3.3.3 整型(int)
3.3.4 长整型(long)
3.4 浮点型(Floating-Point Types)
3.4.1 单精度浮点型(float)
3.4.2 双精度型(double)浮点型
3.5 字符
3.6 布尔型
3.7 进一步研究字面量
3.7.1 整数字面量
3.7.2 浮点字面量
3.7.3 布尔型字面量
3.7.4 字符字面量
3.7.5 字符串字面量
3.8 变量
3.8.1 声明一个变量
3.8.2 动态初始化
3.8.3 变量的作用域和生存期
3.9 类型转换与强制类型转换
3.9.1 Java的自动转换
3.9.2 不兼容类型的强制转换
3.10 表达式中类型的自动提升
3.10.1 类型提升的约定
3.11 数组
3.11.1 一维数组
3.11.2 多维数组
3.11.3 另一种数组声明语法
3.12 字符串的简单介绍
3.13 C/C++程序员请注意指针的用法
第4章 运算符
4.1 算术运算符
4.1.1 基本算术运算符
4.1.2 模运算符
4.1.3 算术赋值运算符
4.1.4 递增和递减运算
4.2 位运算符
4.2.1 位逻辑运算符
4.2.2 左移运算符
4.2.3 右移运算符
4.2.4 无符号右移
4.2.5 位运算符赋值
4.3 关系运算符
4.4 布尔逻辑运算符
4.4.1 短路(short-circuit)逻辑运算符
4.5 赋值运算符
4.6 ?运算符
4.7 运算符优先级
4.8 使用圆括号
第5章 程序控制语句
5.1 Java的选择语句
5.1.1 if语句
5.1.2 switch语句
5.2 循环语句
5.2.1 while语句
5.2.2 do-while循环
5.2.3 for循环
5.2.4 for循环的一些变化
5.2.5 循环嵌套
5.3 跳转语句
5.3.1 使用break语句
5.3.2 使用continue语句
5.3.3 使用return语句
第6章 介绍类
6.1 类基础
6.1.1 类的通用格式
6.1.2 一个简单的类
6.2 声明对象
6.2.1 深入研究new运算符
6.3 给对象引用变量赋值
6.4 方法
6.4.1 为Box类添加一个方法
6.4.2 返回值
6.4.3 加入带自变量的方法
6.5 构造函数
6.5.1 带自变量的构造函数
6.6 this关键字
6.6.1 隐藏的实例变量
6.7 垃圾回收
6.8 finalize()方法
6.9 一个堆栈类
第7章 进一步研究方法和类
7.1 方法重载
7.1.1 构造函数重载
7.2 把对象作为参数
7.3 参数是如何传递的
7.4 返回对象
7.5 递归
7.6 介绍访问控制
7.7 理解static
7.8 介绍final
7.9 重新温习数组
7.10 介绍嵌套类和内部类
7.11 探索String类
7.12 使用命令行参数
第8章 继承
8.1 继承的基础
8.1.1 成员的访问和继承
8.1.2 更实际的例子
8.1.3 超类变量可以引用子类对象
8.2 使用super
8.2.1 使用super调用超类构造函数
8.2.2 Super的第2种用法
8.3 创建多级类层次
8.4 何时调用构造函数
8.5 方法重载
8.6 动态方法调度
8.6.1 为什么要重载方法
8.6.2 应用方法重载
8.7 使用抽象类
8.8 继承中使用final
8.8.1 使用final阻止重载
8.8.2 使用final阻止继承
8.9 Object类
第9章 包和接口
9.1 包
9.1.1 定义包
9.1.2 理解类路径(CLASSPATH)
9.1.3 一个简短的包的例子
9.2 访问保护
9.2.1 一个访问的例子
9.3 引入包
9.4 接口(interface)
9.4.1 接口定义
9.4.2 实现接口
9.4.3 应用接口
9.4.4 接口中的变量
9.4.5 接口可以扩展
第10章 异常处理
10.1 异常处理基础
10.2 异常类型
10.3 未被捕获的异常
10.4 使用try和catch
10.4.1 显示一个异常的描述
10.5 使用多重catch语句
10.6 嵌套try语句
10.7 引发(throw)
10.8 throws
10.9 finally
10.10 Java的内置异吊
10.11 创建自己的异常子类
10.12 使用异常
第11章 多线程编程
11.1 Java线程模型
11.1.1 线程优先级
11.1.2 同步性
11.1.3 消息传递
11.1.4 Thread类和Runnable接口
11.2 主线程
11.3 创建线程
11.3.1 实现Runnable接口
11.3.2 扩展Thread
11.3.3 选择合适方法
11.4 创建多线程
11.5 使用isAlive()和join()
11.6 线程优先级
11.7 线程同步
11.7.1 使用同步方法
11.7.2 同步语句
11.8 线程间通信
11.8.1 死锁
11.9 挂起、恢复和终止线程
11.9.1 Java 1.1或更早版本的线程的挂起、恢复和终止
11.9.2 Java 2中挂起、恢复和终止线程
11.10 使用多线程机制
第12章 输入/输出、小应用程序和其他主题
12.1 输入/输出基础
12.1.1 流的概念
12.1.2 字节流和字符流
12.1.3 预定义流
12.2 读取控制台输入
12.2.1 读取字符
12.2.2 读取字符串
12.3 向控制台写输出
12.4 PrintWriter类
12.5 文件的读写
12.6 小应用程序基础
12.7 Transient和volatile修饰符
12.8 使用instanceof
12.9 strictfp
12.10 本机方法
12.11 使用本机方法的问题
第2部分 Java库
第13章 字符串处理
13.1 String构造函数
13.2 字符串长度
13.3 特殊的字符串操作
13.3.1 字符串文字
13.3.2 字符串连接
13.3.3 字符串与其他类型数据的连接
13.3.4 字符串转换和toString()
13.4 字符截取
13.4.1 charAt()
13.4.2 getChars()
13.4.3 getBytes()
13.4.4 toCharArray()
13.5 字符串比较
13.5.1 equals()和equalsIgnoreCase()
13.5.2 regionMatches()
13.5.3 startsWith()和endsWith()
13.5.4 equals()与=的比较
13.5.5 compareTo()
13.6 搜索字符串
13.7 修改字符串
13.7.1 substring()
I3.7.2 concat()
13.7.3 replace()
13.7.4 trim()
13.8 利用valueOf()方法实现数据转换
13.9 改变字符串内字符的大小写
13.10 StringBuffer
13.10.1 StringBuffer构造函数
13.10.2 length()和capacity()
13.10.3 ensureCapacity()
13.10.4 setLength()
13.10.5 charAt()和setCharAt()
13.10.6 getChars()
13.10.7 append()
13.10.8 insert()
13.10.9 reverse()
13.10.10 delete()和deleteCharAt()
13.10.11 replace()
13.10.12 substring()
第14章 java.lang研究
14.1 简单类型包装器
14.1.1 Number
14.1.2 Double和Float
14.1.3 Byte,Short,Integer和Long
14.1.4 Character
14.1.5 Boolean
14.2 Void
14.3 Process
14.4 Runtime
14.4.1 内存管理
14.4.2 执行其他的程序
14.5 System
14.5.1 使用currentTimeMillis()记录程序执行的时间
14.5.2 使用arraycopy()
14.5.3 环境属性
14.6 Object
14.7 使用clone()和Cloneable接口
14.8 Class
14.9 ClassLoader
14.10 Math
14.10.1 超越函数
14.10.2 指数函数
14.10.3 舍入函数
14.10.4 其他的数学方法
14.11 StrictMath
14.12 Compiler
14.13 Thread,ThreadGroup和Runnable
14.13.1 Runnable接口
14.13.2 Thread
14.13.3 ThreadGroup
14.14 ThreadLocal和InheritableThreadLocal
14.15 Package
14.16 RuntimePermission
14.17 Throwable
14.18 SecurityManager
14.19 Comparable接口
14.20 java.lang.ref和java.lang.reflect包
14.20.1 java.lang.ref
14.20.2 java.lang.reflect
第15章 java.util第1部分:类集框架
15.1 类集概述
15.2 类集接口
15.2.1 类集接口
15.2.2 List接口
15.2.3 集合接口
15.2.4 SortedSet接口
15.3 Collection类
15.3.1 ArrayList类
15.3.2 LinkedList类
15.3.3 HashSet类
15.3.4 TreeSet类
15.4 通过迭代函数访问类集
15.4.1 使用迭代函数
15.5 将用户定义的类存储于Collection中
15.6 处理映射
15.6.1 映射接口
15.6.2 映射类
15.7 比较函数
15.7.1 使用比较函数
15.8 类集算法
15.9 Arrays(数组)
15.10 从以前版本遗留下来的类和接口
15.10.1 Enumeration接口
15.10.2 Vector
15.10.3 Stack
15.10.4 Dictionary
15.10.5 Hashtable
15.10.6 Properties
15.10.7 使用store()和load()
15.11 类集总结
第16章 java.util第2部分:更多的实用工具类
16.1 StringTokenizer(字符串标记)
16.2 BitSet(置位)
16.3 Date(日期)
16.3.1 比较日期
16.4 Calendar(日历)
16.5 GregorianCalendar(标准阳历)
16.6 TimeZone(时区)
16.7 SimpleTimeZone
16.8 Locale(地区)
16.9 Random
16.10 Observable(观测)
16.10.1 观测接口
16.10.2 观测程序举例
16.11 Timer和TimerTask
16.12 java.util.zip包
16.13 java.util.jar包
第17章 输入/输出:探究java.io
17.1 Java输入/输出类和接口
17.2 File(文件类)
17.2.1 目录
17.2.2 使用FilenameFilter
17.2.3 listFiles()方法
17.2.4 创建目录
17.3 流类
17.4 字节流
17.4.1 InputStream(输入流)
17.4.2 OutputStream(输出流)
17.4.3 FileInputStream(文件输入流)
17.4.4 FileOutputStream(文件输出流)
17.4.5 ByteArrayInputStream(字节数组输入流)
17.4.6 ByteArrayOutStream(字节数组输出流)
17.4.7 过滤字节流
17.4.8 缓冲字节流
17.4.9 SequenceInputStream(顺序输入流)
17.4.10 PrintStream(打印流)
17.4.11 RandomAccessFile(随机访问文件类)
17.5 字符流
17.5.1 Reader
17.5.2 Writer
17.5.3 FileReader
17.5.4 FileWriter
17.5.5 CharArrayReader
17.5.6 CharArrayWriter
17.5.7 BufferedReader
17.5.8 BufferedWriter
17.5.9 PushbackReader
17.5.10 PrintWriter
17.6 使用流式输入/输出
17.6.1 用StreamTokenizer(流标记)来改善wc()
17.7 序列化
17.7.1 Serializable接口
17.7.2 Externalizable接口
17.7.3 ObjectOutput接口
17.7.4 ObjectOutputStream类
17.7.5 ObjectInput
17.7.6 ObjectInputStream
17.7.7 序列化示例
17.8 流的益处
第18章 网络
18.1 网络基础
18.1.1 套接字概述
18.1.2 客户/服务器模式
18.1.3 保留套接字
18.1.4 代理服务器
18.1.5 Internet编址
18.2 JAVA和网络
18.2.1 网络类和接口
18.3 InetAddress类
18.3.1 工厂方法
18.3.2 实例方法
18.4 TCP/IP客户套接宇
18.4.1 Whois
18.5 URL
18.5.1 格式化(Format)
18.6 URLConnection类
18.7 TCP/IP服务器套接字
18.8 缓存代理HTTP服务器
18.8.1 源代码
18.9 数据报
18.9.1 DatagramPacket
18.9.2 数据报服务器和客户
18.10 网络价值
第19章 Applet类
19.1 Applet基础
19.1.1 Applet类
19.2 Applet体系结构
19.3 Applet主框架
19.3.1 Applet的初始化与终止
19.3.2 重载update()方法
19.4 简单的小应用程序显示方法
19.5 请求重画
19.5.1 一个简单的banner小应用程序
19.6 使用状态窗口
19.7 HTML APPLET标记
19.8 向小应用程序传递参数
19.8.1 对程序Banner Applet的改进
19.9 getDocumentBase()和getCodeBase()
19.10 AppletContext和showDocument()
19.11 AudioClip接口
19.12 AppletStub接口
19.13 向控制台的输出
第20章 事件处理
20.1 两种事件处理机制
20.2 授权事件模型
20.2.1 事件
20.2.2 事件源
20.2.3 事件监听器
20.3 事件类
20.3.1 ActionEvent类
20.3.2 AdjustmentEvent类
20.3.3 ComponentEvent类
20.3.4 ContainerEvent类
20.3.5 FocusEvent类
20.3.6 InputEvent类
20.3.7 ItemEvent类
20.3.8 KeyEvent类
20.3.9 MouseEvent类
20.3.10 The TextEvent类
20.3.11 WindowEvent类
20.4 事件源
20.5 事件监听器接口
20.5.1 ActionListener接口
20.5.2 AdjustmentListener接口
20.5.3 ComponentListener接口
20.5.4 ContainerListener接口
20.5.5 FocusListener接口
20.5.6 ItemListener接口
20.5.7 KeyListener接口
20.5.8 MouseListener接口
20.5.9 MouseMotionListener接口
20.5.10 TextListener接口
20.5.11 WindowListener接口
20.6 使用授权事件模型
20.6.1 处理鼠标事件
20.6.2 处理键盘事件
20.7 Adapter类
20.8 Inner类
20.8.1 匿名内部类
第21章 介绍AWT:使用窗口、图形、文本
21.1 AWT类
21.2 窗口基本原理
21.2.1 组件(Component)
21.2.2 容器(Container)
21.2.3 面板(Panel)
21.2.4 窗口(Window)
21.2.5 框架(Frame)
21.2.6 画布(Canvas)
21.3 用Frame窗口工作
21.3.1 设置窗口大小
21.3.2 隐藏和显示一个窗口
21.3.3 设置富日标题
21.3.4 关闭frame窗口
21.4 在小应用程序中创建一个frame窗口
21.4.1 在Frame的窗口中处理事件
21.5 创建一个基于窗口的程序
21.6 在窗口中显信息
21.7 使用图形
21.7.1 画线
21.7.2 画矩形
21.7.3 绘制椭圆和圆
21.7.4 画圆弧
21.7.5 绘制多边形
21.7.6 改变图像的大小
21.8 使用颜色
21.8.1 有关颜色的方法
21.8.2 设置当前图形颜色
21.8.3 一个有关颜色的例子
21.9 设置绘图模式
21.10 使用字体
21.10.1 决定可用的字体
21.10.2 创建和选择一种字体
21.10.3 获取字体信息
21.11 通过FontMetrics来管理文本输出
21.11.1 显示多行文字
21.11.2 居中
21.11.3 多行文本对齐
21.12 关于文字和图形
第22章 使用AWT控件、布局管理器和菜单
22.1 基本控件
22.1.1 增加和删除控件
22.1.2 对控件的响应
22.2 标签
22.3 使用按钮
22.3.1 按钮事件处理
22.4 使用复选框
22.4.1 处理复选框
22.5 复选框组
22.6 选择框控件
22.6.1 处理选择框列表
22.7 使用列表框
22.7.1 处理列表框
22.8 管理滚动条
22.8.1 处理滚动条
22.9 使用文本区
22.9.1 处理TextField
22.10 使用TextArea
22.11 理解布局管理器
22.11.1 FlowLayout
22.11.2 BorderLayout
22.11.3 使用间隔
22.11.4 GridLayout
22.11.5 CardLayout
22.12 菜单栏与菜单
22.13 对话框
22.14 文件对话框
22.15 扩展AWT组件进行事件处理
22.15.1 扩展按钮(Button)
22.15.2 扩展复选框(Checkbox)
22.15.3 扩展一个复选框组(Check box group)
22.15.4 扩展选择框(choice)
22.15.5 扩展列表框(List)
22.15.6 扩展滚动条(Scrollbar)
22.16 开发控件、菜单和布局管理器
第23章 图像
23.1 文件格式
23.2 图像基本操作:创建,加载和显示
23.2.1 创建一个图像对象
23.2.2 加载一个图像
23.2.3 显示图像
23.3 ImageObserver
23.3.1 ImageObserver示例
23.4 双缓冲
23.5 MediaTracker
23.6 ImageProducer
23.6.1 MemoryImageSource
23.7 ImageConsumer
23.7.1 PixelGrabber
23.8 ImageFilter
23.8.1 CropImageFilter
23.8.2 RGBImageFilter
23.9 单元动画
23.10 其他Java 2图像类
第3部分 Java软件开发技术
第24章 附加的包
24.1 核心Java API包
24.2 自省
24.3 远程方法调用
24.3.1 一个使用了RMI技术的简单的客户机/服务器应用程序
24.4 文本的格式化
24.4.1 DateFormat类
24.4.2 SimpleDateFormat类
第25章 Java Beans
25.1 Java Bean是什么
25.2 Java Beans的优点
25.3 应用程序开发工具
25.4 Bean开发工具包(BDK)
25.4.1 安装BDK
25.4.2 启动BDK
25.4.3 使用BDK
25.5 JAR文件
25.5.1 清单文件(Manifest Files)
25.5.2 JAR工具
25.6 内省
25.6.1 属性的设计模式
25.6.2 事件的设计模式
25.6.3 方法
25.7 开发一个简单的Bean
25.7.1 创建一个新Bean
25.8 使用限制属性
25.8.1 步骤
25.9 使用BeanInfo接口
25.10 受限属性
25.11 持久性
25.12 定制器
25.13 Java Beans API
第26章 Swing
26.1 JApplet
26.2 图标和标记
26.3 文本域
26.4 按钮
26.4.1 JButton类
26.4.2 复选框
26.4.3 单选按钮
26.5 组合框
26.6 选项窗格
26.7 滚动窗格
26.8 Trees
26.9 表格
26.10 深入研究Swing
第27章 从C++到Java
27.1 C++和Java的区别
27.1.1 Java摈弃的C++内容
27.1.2 Java的新特性
27.1.3 Java和C++的不同特性
27.2 消除指针
27.2.1 转换指针参数
27.2.2 转换用于数组操作的指针
27.3 C++引用参数与Java引用参数
27.4 将C++抽象类转换为Java的接口
27.5 转换默认自变量
27.6 转换C++的多重继承层次结构
27.7 析构函数与finalize()
第4部分 应用Java
第28章 DynamicBillboard小应用程序
28.1 APPLET标记
28.2 源代码概述
28.2.1 DynamicBillboard.java
28.2.2 BillData.java
28.2.3 BillTransition.java
28.2.4 ColumnTransition.java
28.2.5 FadeTransition.java
28.2.6 SmashTransition.java
28.2.7 TearTransition.java
28.2.8 UnrollTransition.java
28.3 动态代码
第29章 ImageMenu:一个基于图像的Web菜单
29.1 源图像
29.2 APPLET标记
29.3 方法
29.3.1 init()
29.3.2 update()
29.3.3 lateInit()
29.3.4 paint()
29.3.5 mouseExited()
29.3.6 mouseDragged()
29.3.7 mouseMoved()
29.3.8 mouseReleased()
29.3.9 程序代码
29.4 小结
第30章 Lavatron小应用程序:运动竞技场的显示牌
30.1 Lavatron的工作过程
30.2 源代码
30.2.1 APPLET标记
30.2.2 Lavatron.java
30.2.3 IntHash()
30.3 小结
第31章 Scrabblet:多玩家的猜字游戏
31.1 网络安全问题
31.2 游戏
31.2.1 计分方法
31.3 源代码
31.3.1 APPLET标记
31.3.2 Scrabblet.java
31.3.3 IntroCanvas.java
31.3.4 Board.java
31.3.5 Bag.java
31.3.6 Letter.java
31.3.7 ServerConnection.java
31.4 服务器程序代码
31.4.1 Server.java
31.4.2 CliemConnection.java
31.5 改进Scrabblet
附录 使用Java的文档注释
本书是世界一流的程序设计大师Herbert Schildt的力作。
全书从介绍Java语言的基础知识入手,通过丰富的示例系统地介绍了Java语言基础知识、Java标准库及Java开发环境,让读者通过由简单到复杂的示例程序来逐步理解Java语言的精髓。Java的强大功能体现在它的标准库中,书中对Java标准库及其应用进行了完整深入的介绍,方便读者查阅,这部分内容是本书的重点。最后介绍了Java开发环境及几个综合应用示例,让读者达到学以致用的目的。
本书涵盖了Java应用程序和小应用程序的开发、编译、调试和运行所需要的所有内容,并包括了Java开发工具包JDK 1.3的新增特性,是每一个Java程序员理想的参考大全。
第1部分 Java语言
第1章 Java的起源
1.1 Java的由来
1.1.1 现代的编程语言的诞生:C语言
1.1.2 对C++的需要
1.1.3 Java出现的时机已经到来
1.2 Java的产生
1.3 Java对Internet为什么重要
1.3.1 Java小应用程序和应用程序
1.3.2 安全性
1.3.3 可移植性
1.4 Java的魔力:字节码
1.5 Java常用语
1.5.1 简单
1.5.2 面向对象
1.5.3 健壮
1.5.4 多线程
1.5.5 结构中立
1.5.6 解释性和高性能
1.5.7 分布式
1.5.8 动态
1.6 继续革命
1.7 Java不是增强的HTML
第2章 Java语言概述
2.1 面向对象编程
2.1.1 两种范型
2.1.2 抽象
2.1.3 面向对象编程的3个原则
2.2 第1个简单程序
2.2.1 键入程序
2.2.2 编译程序
2.2.3 详细讨论第1个示例程序
2.3 第2个示例程序
2.4 两个控制语句
2.4.1 if控制语句
2.4.2 for循环
2.5 使用程序块
2.6 基本词汇
2.6.1 空白分隔符(whitespace)
2.6.2 标识符(identifiers)
2.6.3 常量(literal)
2.6.4 注释(comments)
2.6.5 分隔符(separators)
2.6.6 Java关键字
2.6.7 Java类库
第3章 数据类型、变量、数组
3.1 Java语言是强类型语言
3.2 简单数据类型
3.3 整数类型
3.3.1 字节型(byte)
3.3.2 短整型(short)
3.3.3 整型(int)
3.3.4 长整型(long)
3.4 浮点型(Floating-Point Types)
3.4.1 单精度浮点型(float)
3.4.2 双精度型(double)浮点型
3.5 字符
3.6 布尔型
3.7 进一步研究字面量
3.7.1 整数字面量
3.7.2 浮点字面量
3.7.3 布尔型字面量
3.7.4 字符字面量
3.7.5 字符串字面量
3.8 变量
3.8.1 声明一个变量
3.8.2 动态初始化
3.8.3 变量的作用域和生存期
3.9 类型转换与强制类型转换
3.9.1 Java的自动转换
3.9.2 不兼容类型的强制转换
3.10 表达式中类型的自动提升
3.10.1 类型提升的约定
3.11 数组
3.11.1 一维数组
3.11.2 多维数组
3.11.3 另一种数组声明语法
3.12 字符串的简单介绍
3.13 C/C++程序员请注意指针的用法
第4章 运算符
4.1 算术运算符
4.1.1 基本算术运算符
4.1.2 模运算符
4.1.3 算术赋值运算符
4.1.4 递增和递减运算
4.2 位运算符
4.2.1 位逻辑运算符
4.2.2 左移运算符
4.2.3 右移运算符
4.2.4 无符号右移
4.2.5 位运算符赋值
4.3 关系运算符
4.4 布尔逻辑运算符
4.4.1 短路(short-circuit)逻辑运算符
4.5 赋值运算符
4.6 ?运算符
4.7 运算符优先级
4.8 使用圆括号
第5章 程序控制语句
5.1 Java的选择语句
5.1.1 if语句
5.1.2 switch语句
5.2 循环语句
5.2.1 while语句
5.2.2 do-while循环
5.2.3 for循环
5.2.4 for循环的一些变化
5.2.5 循环嵌套
5.3 跳转语句
5.3.1 使用break语句
5.3.2 使用continue语句
5.3.3 使用return语句
第6章 介绍类
6.1 类基础
6.1.1 类的通用格式
6.1.2 一个简单的类
6.2 声明对象
6.2.1 深入研究new运算符
6.3 给对象引用变量赋值
6.4 方法
6.4.1 为Box类添加一个方法
6.4.2 返回值
6.4.3 加入带自变量的方法
6.5 构造函数
6.5.1 带自变量的构造函数
6.6 this关键字
6.6.1 隐藏的实例变量
6.7 垃圾回收
6.8 finalize()方法
6.9 一个堆栈类
第7章 进一步研究方法和类
7.1 方法重载
7.1.1 构造函数重载
7.2 把对象作为参数
7.3 参数是如何传递的
7.4 返回对象
7.5 递归
7.6 介绍访问控制
7.7 理解static
7.8 介绍final
7.9 重新温习数组
7.10 介绍嵌套类和内部类
7.11 探索String类
7.12 使用命令行参数
第8章 继承
8.1 继承的基础
8.1.1 成员的访问和继承
8.1.2 更实际的例子
8.1.3 超类变量可以引用子类对象
8.2 使用super
8.2.1 使用super调用超类构造函数
8.2.2 Super的第2种用法
8.3 创建多级类层次
8.4 何时调用构造函数
8.5 方法重载
8.6 动态方法调度
8.6.1 为什么要重载方法
8.6.2 应用方法重载
8.7 使用抽象类
8.8 继承中使用final
8.8.1 使用final阻止重载
8.8.2 使用final阻止继承
8.9 Object类
第9章 包和接口
9.1 包
9.1.1 定义包
9.1.2 理解类路径(CLASSPATH)
9.1.3 一个简短的包的例子
9.2 访问保护
9.2.1 一个访问的例子
9.3 引入包
9.4 接口(interface)
9.4.1 接口定义
9.4.2 实现接口
9.4.3 应用接口
9.4.4 接口中的变量
9.4.5 接口可以扩展
第10章 异常处理
10.1 异常处理基础
10.2 异常类型
10.3 未被捕获的异常
10.4 使用try和catch
10.4.1 显示一个异常的描述
10.5 使用多重catch语句
10.6 嵌套try语句
10.7 引发(throw)
10.8 throws
10.9 finally
10.10 Java的内置异吊
10.11 创建自己的异常子类
10.12 使用异常
第11章 多线程编程
11.1 Java线程模型
11.1.1 线程优先级
11.1.2 同步性
11.1.3 消息传递
11.1.4 Thread类和Runnable接口
11.2 主线程
11.3 创建线程
11.3.1 实现Runnable接口
11.3.2 扩展Thread
11.3.3 选择合适方法
11.4 创建多线程
11.5 使用isAlive()和join()
11.6 线程优先级
11.7 线程同步
11.7.1 使用同步方法
11.7.2 同步语句
11.8 线程间通信
11.8.1 死锁
11.9 挂起、恢复和终止线程
11.9.1 Java 1.1或更早版本的线程的挂起、恢复和终止
11.9.2 Java 2中挂起、恢复和终止线程
11.10 使用多线程机制
第12章 输入/输出、小应用程序和其他主题
12.1 输入/输出基础
12.1.1 流的概念
12.1.2 字节流和字符流
12.1.3 预定义流
12.2 读取控制台输入
12.2.1 读取字符
12.2.2 读取字符串
12.3 向控制台写输出
12.4 PrintWriter类
12.5 文件的读写
12.6 小应用程序基础
12.7 Transient和volatile修饰符
12.8 使用instanceof
12.9 strictfp
12.10 本机方法
12.11 使用本机方法的问题
第2部分 Java库
第13章 字符串处理
13.1 String构造函数
13.2 字符串长度
13.3 特殊的字符串操作
13.3.1 字符串文字
13.3.2 字符串连接
13.3.3 字符串与其他类型数据的连接
13.3.4 字符串转换和toString()
13.4 字符截取
13.4.1 charAt()
13.4.2 getChars()
13.4.3 getBytes()
13.4.4 toCharArray()
13.5 字符串比较
13.5.1 equals()和equalsIgnoreCase()
13.5.2 regionMatches()
13.5.3 startsWith()和endsWith()
13.5.4 equals()与=的比较
13.5.5 compareTo()
13.6 搜索字符串
13.7 修改字符串
13.7.1 substring()
I3.7.2 concat()
13.7.3 replace()
13.7.4 trim()
13.8 利用valueOf()方法实现数据转换
13.9 改变字符串内字符的大小写
13.10 StringBuffer
13.10.1 StringBuffer构造函数
13.10.2 length()和capacity()
13.10.3 ensureCapacity()
13.10.4 setLength()
13.10.5 charAt()和setCharAt()
13.10.6 getChars()
13.10.7 append()
13.10.8 insert()
13.10.9 reverse()
13.10.10 delete()和deleteCharAt()
13.10.11 replace()
13.10.12 substring()
第14章 java.lang研究
14.1 简单类型包装器
14.1.1 Number
14.1.2 Double和Float
14.1.3 Byte,Short,Integer和Long
14.1.4 Character
14.1.5 Boolean
14.2 Void
14.3 Process
14.4 Runtime
14.4.1 内存管理
14.4.2 执行其他的程序
14.5 System
14.5.1 使用currentTimeMillis()记录程序执行的时间
14.5.2 使用arraycopy()
14.5.3 环境属性
14.6 Object
14.7 使用clone()和Cloneable接口
14.8 Class
14.9 ClassLoader
14.10 Math
14.10.1 超越函数
14.10.2 指数函数
14.10.3 舍入函数
14.10.4 其他的数学方法
14.11 StrictMath
14.12 Compiler
14.13 Thread,ThreadGroup和Runnable
14.13.1 Runnable接口
14.13.2 Thread
14.13.3 ThreadGroup
14.14 ThreadLocal和InheritableThreadLocal
14.15 Package
14.16 RuntimePermission
14.17 Throwable
14.18 SecurityManager
14.19 Comparable接口
14.20 java.lang.ref和java.lang.reflect包
14.20.1 java.lang.ref
14.20.2 java.lang.reflect
第15章 java.util第1部分:类集框架
15.1 类集概述
15.2 类集接口
15.2.1 类集接口
15.2.2 List接口
15.2.3 集合接口
15.2.4 SortedSet接口
15.3 Collection类
15.3.1 ArrayList类
15.3.2 LinkedList类
15.3.3 HashSet类
15.3.4 TreeSet类
15.4 通过迭代函数访问类集
15.4.1 使用迭代函数
15.5 将用户定义的类存储于Collection中
15.6 处理映射
15.6.1 映射接口
15.6.2 映射类
15.7 比较函数
15.7.1 使用比较函数
15.8 类集算法
15.9 Arrays(数组)
15.10 从以前版本遗留下来的类和接口
15.10.1 Enumeration接口
15.10.2 Vector
15.10.3 Stack
15.10.4 Dictionary
15.10.5 Hashtable
15.10.6 Properties
15.10.7 使用store()和load()
15.11 类集总结
第16章 java.util第2部分:更多的实用工具类
16.1 StringTokenizer(字符串标记)
16.2 BitSet(置位)
16.3 Date(日期)
16.3.1 比较日期
16.4 Calendar(日历)
16.5 GregorianCalendar(标准阳历)
16.6 TimeZone(时区)
16.7 SimpleTimeZone
16.8 Locale(地区)
16.9 Random
16.10 Observable(观测)
16.10.1 观测接口
16.10.2 观测程序举例
16.11 Timer和TimerTask
16.12 java.util.zip包
16.13 java.util.jar包
第17章 输入/输出:探究java.io
17.1 Java输入/输出类和接口
17.2 File(文件类)
17.2.1 目录
17.2.2 使用FilenameFilter
17.2.3 listFiles()方法
17.2.4 创建目录
17.3 流类
17.4 字节流
17.4.1 InputStream(输入流)
17.4.2 OutputStream(输出流)
17.4.3 FileInputStream(文件输入流)
17.4.4 FileOutputStream(文件输出流)
17.4.5 ByteArrayInputStream(字节数组输入流)
17.4.6 ByteArrayOutStream(字节数组输出流)
17.4.7 过滤字节流
17.4.8 缓冲字节流
17.4.9 SequenceInputStream(顺序输入流)
17.4.10 PrintStream(打印流)
17.4.11 RandomAccessFile(随机访问文件类)
17.5 字符流
17.5.1 Reader
17.5.2 Writer
17.5.3 FileReader
17.5.4 FileWriter
17.5.5 CharArrayReader
17.5.6 CharArrayWriter
17.5.7 BufferedReader
17.5.8 BufferedWriter
17.5.9 PushbackReader
17.5.10 PrintWriter
17.6 使用流式输入/输出
17.6.1 用StreamTokenizer(流标记)来改善wc()
17.7 序列化
17.7.1 Serializable接口
17.7.2 Externalizable接口
17.7.3 ObjectOutput接口
17.7.4 ObjectOutputStream类
17.7.5 ObjectInput
17.7.6 ObjectInputStream
17.7.7 序列化示例
17.8 流的益处
第18章 网络
18.1 网络基础
18.1.1 套接字概述
18.1.2 客户/服务器模式
18.1.3 保留套接字
18.1.4 代理服务器
18.1.5 Internet编址
18.2 JAVA和网络
18.2.1 网络类和接口
18.3 InetAddress类
18.3.1 工厂方法
18.3.2 实例方法
18.4 TCP/IP客户套接宇
18.4.1 Whois
18.5 URL
18.5.1 格式化(Format)
18.6 URLConnection类
18.7 TCP/IP服务器套接字
18.8 缓存代理HTTP服务器
18.8.1 源代码
18.9 数据报
18.9.1 DatagramPacket
18.9.2 数据报服务器和客户
18.10 网络价值
第19章 Applet类
19.1 Applet基础
19.1.1 Applet类
19.2 Applet体系结构
19.3 Applet主框架
19.3.1 Applet的初始化与终止
19.3.2 重载update()方法
19.4 简单的小应用程序显示方法
19.5 请求重画
19.5.1 一个简单的banner小应用程序
19.6 使用状态窗口
19.7 HTML APPLET标记
19.8 向小应用程序传递参数
19.8.1 对程序Banner Applet的改进
19.9 getDocumentBase()和getCodeBase()
19.10 AppletContext和showDocument()
19.11 AudioClip接口
19.12 AppletStub接口
19.13 向控制台的输出
第20章 事件处理
20.1 两种事件处理机制
20.2 授权事件模型
20.2.1 事件
20.2.2 事件源
20.2.3 事件监听器
20.3 事件类
20.3.1 ActionEvent类
20.3.2 AdjustmentEvent类
20.3.3 ComponentEvent类
20.3.4 ContainerEvent类
20.3.5 FocusEvent类
20.3.6 InputEvent类
20.3.7 ItemEvent类
20.3.8 KeyEvent类
20.3.9 MouseEvent类
20.3.10 The TextEvent类
20.3.11 WindowEvent类
20.4 事件源
20.5 事件监听器接口
20.5.1 ActionListener接口
20.5.2 AdjustmentListener接口
20.5.3 ComponentListener接口
20.5.4 ContainerListener接口
20.5.5 FocusListener接口
20.5.6 ItemListener接口
20.5.7 KeyListener接口
20.5.8 MouseListener接口
20.5.9 MouseMotionListener接口
20.5.10 TextListener接口
20.5.11 WindowListener接口
20.6 使用授权事件模型
20.6.1 处理鼠标事件
20.6.2 处理键盘事件
20.7 Adapter类
20.8 Inner类
20.8.1 匿名内部类
第21章 介绍AWT:使用窗口、图形、文本
21.1 AWT类
21.2 窗口基本原理
21.2.1 组件(Component)
21.2.2 容器(Container)
21.2.3 面板(Panel)
21.2.4 窗口(Window)
21.2.5 框架(Frame)
21.2.6 画布(Canvas)
21.3 用Frame窗口工作
21.3.1 设置窗口大小
21.3.2 隐藏和显示一个窗口
21.3.3 设置富日标题
21.3.4 关闭frame窗口
21.4 在小应用程序中创建一个frame窗口
21.4.1 在Frame的窗口中处理事件
21.5 创建一个基于窗口的程序
21.6 在窗口中显信息
21.7 使用图形
21.7.1 画线
21.7.2 画矩形
21.7.3 绘制椭圆和圆
21.7.4 画圆弧
21.7.5 绘制多边形
21.7.6 改变图像的大小
21.8 使用颜色
21.8.1 有关颜色的方法
21.8.2 设置当前图形颜色
21.8.3 一个有关颜色的例子
21.9 设置绘图模式
21.10 使用字体
21.10.1 决定可用的字体
21.10.2 创建和选择一种字体
21.10.3 获取字体信息
21.11 通过FontMetrics来管理文本输出
21.11.1 显示多行文字
21.11.2 居中
21.11.3 多行文本对齐
21.12 关于文字和图形
第22章 使用AWT控件、布局管理器和菜单
22.1 基本控件
22.1.1 增加和删除控件
22.1.2 对控件的响应
22.2 标签
22.3 使用按钮
22.3.1 按钮事件处理
22.4 使用复选框
22.4.1 处理复选框
22.5 复选框组
22.6 选择框控件
22.6.1 处理选择框列表
22.7 使用列表框
22.7.1 处理列表框
22.8 管理滚动条
22.8.1 处理滚动条
22.9 使用文本区
22.9.1 处理TextField
22.10 使用TextArea
22.11 理解布局管理器
22.11.1 FlowLayout
22.11.2 BorderLayout
22.11.3 使用间隔
22.11.4 GridLayout
22.11.5 CardLayout
22.12 菜单栏与菜单
22.13 对话框
22.14 文件对话框
22.15 扩展AWT组件进行事件处理
22.15.1 扩展按钮(Button)
22.15.2 扩展复选框(Checkbox)
22.15.3 扩展一个复选框组(Check box group)
22.15.4 扩展选择框(choice)
22.15.5 扩展列表框(List)
22.15.6 扩展滚动条(Scrollbar)
22.16 开发控件、菜单和布局管理器
第23章 图像
23.1 文件格式
23.2 图像基本操作:创建,加载和显示
23.2.1 创建一个图像对象
23.2.2 加载一个图像
23.2.3 显示图像
23.3 ImageObserver
23.3.1 ImageObserver示例
23.4 双缓冲
23.5 MediaTracker
23.6 ImageProducer
23.6.1 MemoryImageSource
23.7 ImageConsumer
23.7.1 PixelGrabber
23.8 ImageFilter
23.8.1 CropImageFilter
23.8.2 RGBImageFilter
23.9 单元动画
23.10 其他Java 2图像类
第3部分 Java软件开发技术
第24章 附加的包
24.1 核心Java API包
24.2 自省
24.3 远程方法调用
24.3.1 一个使用了RMI技术的简单的客户机/服务器应用程序
24.4 文本的格式化
24.4.1 DateFormat类
24.4.2 SimpleDateFormat类
第25章 Java Beans
25.1 Java Bean是什么
25.2 Java Beans的优点
25.3 应用程序开发工具
25.4 Bean开发工具包(BDK)
25.4.1 安装BDK
25.4.2 启动BDK
25.4.3 使用BDK
25.5 JAR文件
25.5.1 清单文件(Manifest Files)
25.5.2 JAR工具
25.6 内省
25.6.1 属性的设计模式
25.6.2 事件的设计模式
25.6.3 方法
25.7 开发一个简单的Bean
25.7.1 创建一个新Bean
25.8 使用限制属性
25.8.1 步骤
25.9 使用BeanInfo接口
25.10 受限属性
25.11 持久性
25.12 定制器
25.13 Java Beans API
第26章 Swing
26.1 JApplet
26.2 图标和标记
26.3 文本域
26.4 按钮
26.4.1 JButton类
26.4.2 复选框
26.4.3 单选按钮
26.5 组合框
26.6 选项窗格
26.7 滚动窗格
26.8 Trees
26.9 表格
26.10 深入研究Swing
第27章 从C++到Java
27.1 C++和Java的区别
27.1.1 Java摈弃的C++内容
27.1.2 Java的新特性
27.1.3 Java和C++的不同特性
27.2 消除指针
27.2.1 转换指针参数
27.2.2 转换用于数组操作的指针
27.3 C++引用参数与Java引用参数
27.4 将C++抽象类转换为Java的接口
27.5 转换默认自变量
27.6 转换C++的多重继承层次结构
27.7 析构函数与finalize()
第4部分 应用Java
第28章 DynamicBillboard小应用程序
28.1 APPLET标记
28.2 源代码概述
28.2.1 DynamicBillboard.java
28.2.2 BillData.java
28.2.3 BillTransition.java
28.2.4 ColumnTransition.java
28.2.5 FadeTransition.java
28.2.6 SmashTransition.java
28.2.7 TearTransition.java
28.2.8 UnrollTransition.java
28.3 动态代码
第29章 ImageMenu:一个基于图像的Web菜单
29.1 源图像
29.2 APPLET标记
29.3 方法
29.3.1 init()
29.3.2 update()
29.3.3 lateInit()
29.3.4 paint()
29.3.5 mouseExited()
29.3.6 mouseDragged()
29.3.7 mouseMoved()
29.3.8 mouseReleased()
29.3.9 程序代码
29.4 小结
第30章 Lavatron小应用程序:运动竞技场的显示牌
30.1 Lavatron的工作过程
30.2 源代码
30.2.1 APPLET标记
30.2.2 Lavatron.java
30.2.3 IntHash()
30.3 小结
第31章 Scrabblet:多玩家的猜字游戏
31.1 网络安全问题
31.2 游戏
31.2.1 计分方法
31.3 源代码
31.3.1 APPLET标记
31.3.2 Scrabblet.java
31.3.3 IntroCanvas.java
31.3.4 Board.java
31.3.5 Bag.java
31.3.6 Letter.java
31.3.7 ServerConnection.java
31.4 服务器程序代码
31.4.1 Server.java
31.4.2 CliemConnection.java
31.5 改进Scrabblet
附录 使用Java的文档注释
猜您喜欢