前言
第1章快速入门 1
1.1关于Java技术 1
1.1.1Java程序语言 1
1.1.2Java平台 2
1.1.3Java技术的功能 3
1.1.4Java技术的优势 3
1.2“Hello World!”实例程序 4
1.2.1用NetBeans IDE开发“Hello World!” 4
1.2.2在Microsoft Windows中开发“Hello World!” 10
1.2.3在Solaris和Linux中开发“Hello World!” 13
1.3“Hello World!”实例程序剖析 15
1.3.1源码注释 15
1.3.2HelloWorldApp类定义 15
1.3.3main方法 16
1.4常见问题(及其解决方案) 16
1.4.1编译器问题 16
1.4.2运行时问题 18
1.5问题和练习:快速入门 19
第2章面向对象的编程概念 21
2.1对象 21
2.2类 22
2.3继承 23
2.4接口 24
2.5包 25
2.6问题和练习:面向对象的编程概念 25
第3章语言基础 27
3.1变量 27
3.1.1命名 28
3.1.2基本数据类型 28
3.1.3数组 32
3.1.4小结 35
3.1.5问题和练习:变量 36
3.2运算符 36
3.2.1赋值运算符、算术运算符和一元运算符 37
3.2.2等式运算符、关系运算符和条件运算符 40
3.2.3位运算符和移位运算符 42
3.2.4小结 42
3.2.5问题和练习:运算符 43
3.3表达式、语句和块 44
3.3.1表达式 44
3.3.2语句 45
3.3.3块 45
3.3.4问题和练习:表达式、语句和块 46
3.4控制流语句 46
3.4.1if-then语句和if-then-else语句 46
3.4.2switch语句 47
3.4.3while语句和do-while语句 51
3.4.4for语句 52
3.4.5分支语句 53
3.4.6小结 56
3.4.7问题和练习:控制流语句 56
第4章类和对象 58
4.1类 58
4.1.1声明类 59
4.1.2声明成员变量 60
4.1.3定义方法 61
4.1.4构建构造器 62
4.1.5将消息传给方法或构造器 63
4.2对象 66
4.2.1创建对象 67
4.2.2使用对象 69
4.3类的更多细节 71
4.3.1从方法返回值 71
4.3.2使用this关键字 73
4.3.3控制对类成员的访问 74
4.3.4类成员 75
4.3.5初始化字段 78
4.3.6小结 79
4.3.7问题和练习:类 79
4.3.8问题和练习:对象 80
4.4嵌套类 81
4.4.1为什么使用嵌套类 81
4.4.2静态嵌套类 82
4.4.3内部类 82
4.4.4覆盖 82
4.4.5序列化 83
4.4.6内部类实例 83
4.4.7局部类和匿名类 85
4.4.8Lambda表达式 92
4.4.9何时使用嵌套类、局部类、匿名类和Lambda表达式 105
4.4.10问题和练习:嵌套类 105
4.5枚举类型 106
4.5.1问题和练习:枚举类型 108
第5章注解 109
5.1注解基础知识 109
5.1.1注解的格式 109
5.1.2注解的使用场景 110
5.2声明注解类型 110
5.3预定义注解类型 111
5.3.1Java语言使用的注解类型 111
5.3.2应用于其他注解的注解 112
5.4类型注解和可插拔类型系统 113
5.5重复注解 114
5.5.1声明重复注解类型 114
5.5.2声明容器注解类型 115
5.5.3检索注解 115
5.5.4设计时的注意事项 115
5.6问题和练习:注解 115
第6章接口与继承 117
6.1接口 117
6.1.1Java语言的接口 117
6.1.2将接口用作API 118
6.1.3定义接口 118
6.1.4实现接口 119
6.1.5将接口用作类型 120
6.1.6进化接口 121
6.1.7默认方法 122
6.1.8小结 129
6.1.9问题和练习:接口 129
6.2继承 130
6.2.1Java平台中类的层次结构 130
6.2.2继承实例 131
6.2.3子类能做什么 132
6.2.4超类的私有成员 132
6.2.5转换对象 132
6.2.6状态、实现和类型的多重继承 133
6.2.7覆盖和屏蔽方法 133
6.2.8多态性 136
6.2.9屏蔽字段 138
6.2.10使用super关键字 138
6.2.11将对象用作超类 140
6.2.12编写final类和方法 142
6.2.13抽象方法和类 143
6.2.14小结 145
6.2.15问题和练习:继承 145
第7章泛型 147
7.1为什么用泛型 147
7.2泛型类型 147
7.2.1一个简单的Box类 148
7.2.2Box类的泛型版本 148
7.2.3类型参数命名约定 148
7.2.4泛型类型的调用和实例化 149
7.2.5钻石运算符 149
7.2.6多个类型参数 149
7.2.7参数化类型 150
7.2.8原生类型 150
7.3泛型方法 151
7.4受限类型形式参数 152
7.4.1多重限制 153
7.4.2泛型方法和受限类型形式参数 154
7.5泛型、继承和子类型 154
7.5.1泛型类和子类型 155
7.6类型推导 156
7.6.1类型推导和泛型方法 156
7.6.2类型推导和泛型类的实例化 157
7.6.3类型推导与泛型类和非泛型类的泛型构造函数 157
7.6.4目标类型 158
7.7通配符 159
7.7.1上界通配符 159
7.7.2无界通配符 160
7.7.3下界通配符 160
7.7.4通配符和子类型 161
7.7.5通配符匹配和辅助方法 162
7.7.6通配符使用指南 164
7.8类型擦除 165
7.8.1泛型类型的擦除 165
7.8.2泛型方法的擦除 166
7.8.3类型擦除效果和桥方法 167
7.8.4不可具体化类型和可变参数方法 168
7.9泛型的局限性 170
7.9.1不能用基本数据类型实例化泛型类型 170
7.9.2不能创建类型参数实例 171
7.9.3不能声明类型为“类型参数”
第8章 程序包
第9章 数字和字符串
第10章 异常
第11章 基本I/O和NIO.2
第12章 集合
第13章 并发
第14章 正则表达式
第15章 平台环境
第16章 JAR文件
第17章 Java Web Start
第18章 applet
第19章 Java富互联网应用系统
第20章 深入理解部署
第21章 日期/时间API
第22章 JavaFX简介
附录 Java程序语言论证考试复习
大纲