第1章 Java語言概述……………………………………………………………… 1
1.1 Java概述…………………………………………………………………… 1
1.1.1 Java的發(fā)展………………………………………………………… 1
1.1.2 Java技術(shù)體系……………………………………………………… 2
1.1.3 Java語言特點……………………………………………………… 3
1.2 JDK的安裝及Java應(yīng)用程序……………………………………………… 5
1.2.1 JDK的安裝及環(huán)境變量的配置…………………………………… 5
1.2.2 Java應(yīng)用程序……………………………………………………… 8
1.3 Java開發(fā)工具……………………………………………………………… 9
1.3.1 MyEclipse集成開發(fā)環(huán)境………………………………………… 10
1.3.2 創(chuàng)建Java項目并運行…………………………………………… 11
1.3.3 程序調(diào)試技術(shù)……………………………………………………… 14
第2章 Java語言基礎(chǔ)……………………………………………………………… 16
2.1 標識符和保留字…………………………………………………………… 16
2.1.1 標識符……………………………………………………………… 16
2.1.2 保留字……………………………………………………………… 16
2.2 數(shù)據(jù)類型…………………………………………………………………… 17
2.2.1 整數(shù)類型…………………………………………………………… 17
2.2.2 浮點數(shù)據(jù)類型……………………………………………………… 18
2.2.3 字符型數(shù)據(jù)………………………………………………………… 19
2.2.4 布爾型數(shù)據(jù)………………………………………………………… 19
2.3 運算符與表達式…………………………………………………………… 19
2.3.1 運算符……………………………………………………………… 19
2.3.2 表達式……………………………………………………………… 23
2.3.3 運算符的優(yōu)先級和結(jié)合性………………………………………… 23
2.4 Java流程控制語句……………………………………………………… 25
2.4.1 分支語句…………………………………………………………… 25
2.4.2 循環(huán)語句…………………………………………………………… 28
2.4.3 一般順序控制……………………………………………………… 32
2.5 數(shù) 組……………………………………………………………………… 32
2.5.1 數(shù)組的聲明………………………………………………………… 32
2.5.2 數(shù)組的創(chuàng)建………………………………………………………… 33
2.5.3 數(shù)組的引用模型…………………………………………………… 36
2.5.4 不規(guī)則的二維數(shù)組………………………………………………… 36
第3章 面向?qū)ο蟪绦蛟O(shè)計………………………………………………………… 38
3.1 類和對象…………………………………………………………………… 38
3.1.1 基本概念…………………………………………………………… 38
3.1.2 定義類……………………………………………………………… 41
3.1.3 對象的生成和使用………………………………………………… 43
3.1.4 對象的引用模型…………………………………………………… 46
3.2 類的封裝性………………………………………………………………… 47
3.2.1 構(gòu)造方法和析構(gòu)方法……………………………………………… 48
3.2.2 this引用…………………………………………………………… 50
3.2.3 訪問權(quán)限…………………………………………………………… 51
3.2.4 實例成員與類成員………………………………………………… 53
3.3 類的繼承性………………………………………………………………… 58
3.3.1 聲明子類繼承父類………………………………………………… 60
3.3.2 繼承的層次結(jié)構(gòu)…………………………………………………… 62
3.3.3 繼承中的super引用……………………………………………… 63
3.3.4 繼承的基本特性…………………………………………………… 63
3.4 類的多態(tài)性………………………………………………………………… 72
3.4.1 類的類型多態(tài)……………………………………………………… 72
3.4.2 類的方法多態(tài)……………………………………………………… 74
3.4.3 多態(tài)的基本特性…………………………………………………… 76
3.4.4 多態(tài)中的super引用……………………………………………… 80
3.5 類的抽象性………………………………………………………………… 82
3.5.1 抽象類……………………………………………………………… 82
3.5.2 最終類……………………………………………………………… 85
第4章 接口和包…………………………………………………………………… 87
4.1 接 口……………………………………………………………………… 87
4.1.1 接口與實現(xiàn)接口的類……………………………………………… 87
4.1.2 接口引用數(shù)據(jù)類型………………………………………………… 90
4.1.3 接口的特點………………………………………………………… 90
4.1.4 接口的作用………………………………………………………… 91
4.1.5 接口與抽象類的區(qū)別……………………………………………… 92
4.1.6 用接口實現(xiàn)多重繼承……………………………………………… 93
4.2 包…………………………………………………………………………… 93
4.2.1 包的概念…………………………………………………………… 93
4.2.2 創(chuàng)建、聲明和導(dǎo)入包……………………………………………… 95
4.2.3 Java程序結(jié)構(gòu)…………………………………………………… 95
4.2.4 JDK 中常見的包………………………………………………… 96
第5章 異常處理…………………………………………………………………… 97
5.1 Java異常處理的基礎(chǔ)知識……………………………………………… 97
5.1.1 程序錯誤種類……………………………………………………… 97
5.1.2 異常處理的類層次………………………………………………… 98
5.1.3 異常的分類……………………………………………………… 100
5.2 Java異常處理…………………………………………………………… 101
5.2.1 異常處理基本過程……………………………………………… 102
5.2.2 異常處理語句結(jié)構(gòu)……………………………………………… 103
5.3 拋出異常………………………………………………………………… 107
5.3.1 使用throw語句拋出異常……………………………………… 108
5.3.2 拋出異常的方法與調(diào)用方法處理異常………………………… 110
5.4 自定義異常類…………………………………………………………… 112
第6章 圖形用戶界面……………………………………………………………… 114
6.1 圖形用戶界面組件……………………………………………………… 114
6.1.1 AWT和Swing ………………………………………………… 115
6.1.2 基本組件………………………………………………………… 116
6.2 布局管理器……………………………………………………………… 124
6.2.1 FlowLayout流布局管理器……………………………………… 125
6.2.2 BorderLayout邊布局管理器…………………………………… 126
6.2.3 GridLayout網(wǎng)格布局管理器…………………………………… 128
6.2.4 CardLayout卡片布局管理器…………………………………… 130
6.3 事件處理………………………………………………………………… 132
6.3.1 事件類…………………………………………………………… 132
6.3.2 事件監(jiān)聽器接口………………………………………………… 133
6.3.3 委托事件模型…………………………………………………… 135
6.3.4 事件適配器類…………………………………………………… 138
6.4 高級組件及事件………………………………………………………… 138
6.4.1 文本組件………………………………………………………… 138
6.4.2 按鈕組件………………………………………………………… 139
6.4.3 組合框組件……………………………………………………… 140
6.4.4 菜單組件………………………………………………………… 143
6.5 圖形設(shè)計………………………………………………………………… 146
6.5.1 繪圖類…………………………………………………………… 146
6.5.2 在組件上繪圖…………………………………………………… 146
第7章 多線程編程………………………………………………………………… 153
7.1 多線程的概念…………………………………………………………… 153
7.1.1 程序和進程……………………………………………………… 153
7.1.2 線程的概念……………………………………………………… 154
7.2 Runnable接口與Thread類…………………………………………… 155
7.2.1 Runnable接口…………………………………………………… 156
7.2.2 Thread類………………………………………………………… 156
7.2.3 創(chuàng)建多線程程序………………………………………………… 157
7.3 線程的控制與調(diào)度……………………………………………………… 163
7.3.1 線程的生命周期與狀態(tài)………………………………………… 163
7.3.2 線程調(diào)度與優(yōu)先級……………………………………………… 164
7.4 Thread類中控制線程的方法…………………………………………… 166
7.4.1 線程常用方法…………………………………………………… 166
7.4.2 后臺線程………………………………………………………… 168
7.4.3 連接線程………………………………………………………… 169
7.4.4 線程休眠………………………………………………………… 171
7.4.5 線程中斷………………………………………………………… 172
第8章 輸入輸出流………………………………………………………………… 177
8.1 流的基本概念…………………………………………………………… 177
8.2 字節(jié)輸入/輸出流類……………………………………………………… 178
8.2.1 InputStream 字節(jié)輸入流……………………………………… 178
8.2.2 OutputStream 字節(jié)輸出流……………………………………… 179
8.2.3 Java標準輸入/輸出…………………………………………… 179
8.2.4 Scanner類……………………………………………………… 181
8.2.5 文件字節(jié)流……………………………………………………… 184
8.2.6 數(shù)據(jù)字節(jié)流……………………………………………………… 187
8.2.7 對象字節(jié)流……………………………………………………… 190
8.3 字符輸入/輸出流類……………………………………………………… 194
8.3.1 Reader字符輸入流……………………………………………… 194
8.3.2 Writer字符輸出流……………………………………………… 195
8.3.3 InputStreamReader …………………………………………… 195
8.3.4 OutputStreamWriter …………………………………………… 196
8.3.5 文件字符流……………………………………………………… 197
8.3.6 緩沖字符流……………………………………………………… 198
第9章 網(wǎng)絡(luò)編程…………………………………………………………………… 201
9.1 URL訪問網(wǎng)絡(luò)資源……………………………………………………… 201
9.1.1 URL類…………………………………………………………… 201
9.1.2 URLConnection類……………………………………………… 204
9.2 Socket通信……………………………………………………………… 206
9.2.1 Socket通信原理………………………………………………… 206
9.2.2 TCPSocket通信實現(xiàn)…………………………………………… 207
9.2.3 UDPSocket通信實現(xiàn)………………………………………… 215
參考文獻……………………………………………………………………………… 220