本書(shū)基于Java語(yǔ)言介紹面向?qū)ο蟪绦蛟O(shè)計(jì)理念,引入U(xiǎn)ML工具解釋設(shè)計(jì)過(guò)程;用豐富的案例闡述面向?qū)ο蟪绦蛟O(shè)計(jì)的基本理論和方法,詳細(xì)介紹面向?qū)ο蟮幕咎匦、基本技術(shù),知識(shí)點(diǎn)與應(yīng)用實(shí)例相結(jié)合。全書(shū)分為三篇: 第1篇,編程基礎(chǔ),介紹Java的編程基礎(chǔ);第2篇,Java面向?qū)ο螅榻B面向?qū)ο蟮姆庋b性、繼承性和多態(tài)性;第3篇,高級(jí)面向?qū)ο笤O(shè)計(jì),介紹UI、多線程、網(wǎng)絡(luò)編程等內(nèi)容。本書(shū)內(nèi)容從簡(jiǎn)單到復(fù)雜,階梯式遞進(jìn),讀者可以根據(jù)需要選讀。
本書(shū)介紹面向?qū)ο笏枷,注重理論?lián)系實(shí)際,既可作為高等院校軟件工程、計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的本科學(xué)生教材,也可作為研究生的參考資料。
? 這是一本進(jìn)階式學(xué)習(xí)的面向?qū)ο蟪绦蛟O(shè)計(jì)教材,全書(shū)分為基礎(chǔ)篇、面向?qū)ο笃透呒?jí)篇,內(nèi)容由淺入深。
? 將面向?qū)ο蠓治雠c程序開(kāi)發(fā)相結(jié)合,介紹面向?qū)ο蟪绦虻脑O(shè)計(jì)與實(shí)現(xiàn)。以UML語(yǔ)言描述類(lèi)的設(shè)計(jì),用Java語(yǔ)言實(shí)現(xiàn)。
? 書(shū)中有豐富的實(shí)例,讀者可以了解所學(xué)知識(shí)在具體問(wèn)題中的應(yīng)用。將面向?qū)ο笕谌雽?shí)踐中,加深讀者對(duì)知識(shí)的理解與掌握。
? 每章配有習(xí)題和實(shí)驗(yàn),幫助讀者鞏固所學(xué)知識(shí),提高編程能力。
? 本書(shū)提供書(shū)中實(shí)例的源代碼和電子課件,讀者可登錄清華大學(xué)出版社網(wǎng)站下載使用。
目錄Contents第1篇編 程 基 礎(chǔ)
第1章概述31.1面向?qū)ο缶幊趟枷?
1.1.1面向?qū)ο缶幊陶Z(yǔ)言3
1.1.2類(lèi)和對(duì)象4
1.1.3面向?qū)ο蟮奶卣?
1.1.4Java語(yǔ)言的特點(diǎn)6
1.2編寫(xiě)Java程序的步驟8
1.2.1準(zhǔn)備Java開(kāi)發(fā)環(huán)境8
1.2.2準(zhǔn)備編程工具12
1.2.3編寫(xiě)第一個(gè)Java程序12
1.3標(biāo)準(zhǔn)I O16
1.3.1標(biāo)準(zhǔn)輸入流16
1.3.2通過(guò)Scanner類(lèi)實(shí)現(xiàn)輸入輸出18
習(xí)題119
編程練習(xí)19
第2章基礎(chǔ)知識(shí)20
2.1標(biāo)識(shí)符20
2.2數(shù)據(jù)類(lèi)型21
2.2.1基本數(shù)據(jù)類(lèi)型22
2.2.2類(lèi)型轉(zhuǎn)換23
2.3變量和賦值24
2.4常量25
2.5運(yùn)算符和表達(dá)式25
2.5.1基本賦值運(yùn)算26 Java面向?qū)ο蟪绦蛟O(shè)計(jì)目錄2.5.2算術(shù)運(yùn)算26
2.5.3關(guān)系運(yùn)算28
2.5.4布爾運(yùn)算29
2.5.5位運(yùn)算30
2.5.6條件運(yùn)算30
2.5.7復(fù)合賦值運(yùn)算符30
2.6字符串31
2.7if語(yǔ)句32
2.7.1if語(yǔ)句的三種形式32
2.7.2使用if分段顯示34
2.8switch語(yǔ)句35
2.8.1使用switch分段顯示35
2.8.2switch語(yǔ)句詳解35
2.9for循環(huán)36
2.9.1for循環(huán)語(yǔ)法36
2.9.2求和運(yùn)算實(shí)例37
2.10while循環(huán)38
2.10.1while循環(huán)語(yǔ)句38
2.10.2while循環(huán)實(shí)現(xiàn)輸入控制38
2.11do…while循環(huán)39
2.11.1do…while語(yǔ)句39
2.11.2do…while實(shí)現(xiàn)退出操作39
2.12break與continue39
2.12.1break語(yǔ)句39
2.12.2continue語(yǔ)句40
2.13綜合實(shí)例: 十進(jìn)制與二進(jìn)制轉(zhuǎn)換41
2.13.1問(wèn)題分析41
2.13.2算法設(shè)計(jì)42
2.13.3主程序42
習(xí)題243
編程練習(xí)44
第3章方法46
3.1定義方法46
3.2調(diào)用方法46
3.3方法實(shí)例48
3.4方法應(yīng)用50
3.4.1單個(gè)參數(shù)的方法50
3.4.2多個(gè)參數(shù)的方法51
3.4.3遞歸方法53
3.4.4多個(gè)返回值的方法54
3.5方法重載54
習(xí)題355
編程練習(xí)56
第4章數(shù)組58
4.1創(chuàng)建數(shù)組58
4.2初始化一維數(shù)組59
4.2.1靜態(tài)初始化60
4.2.2動(dòng)態(tài)初始化60
4.2.3創(chuàng)建數(shù)組實(shí)例61
4.3數(shù)組名的使用62
4.4數(shù)組作為方法的參數(shù)和返回值63
4.4.1數(shù)組作為方法參數(shù)63
4.4.2數(shù)組作為返回類(lèi)型64
4.5增強(qiáng)的for循環(huán)65
4.6多維數(shù)組66
4.6.1二維數(shù)組定義67
4.6.2初始化二維數(shù)組67
4.6.3二維數(shù)組實(shí)例68
習(xí)題469
編程練習(xí)70
第2篇Java面向?qū)ο?nbsp;
第5章類(lèi)和對(duì)象755.1類(lèi)與對(duì)象的關(guān)系75
5.2類(lèi)的設(shè)計(jì)與UML建模75
5.3類(lèi)76
5.3.1汽車(chē)類(lèi)實(shí)例76
5.3.2定義類(lèi)77
5.4對(duì)象78
5.4.1創(chuàng)建對(duì)象78
5.4.2使用對(duì)象79
5.5成員變量與局部變量80
5.6構(gòu)造方法81
5.6.1為什么需要構(gòu)造方法81
5.6.2構(gòu)造方法重載82
5.7this關(guān)鍵字84
5.7.1this表示類(lèi)的成員84
5.7.2this調(diào)用構(gòu)造方法85
5.7.3this表示當(dāng)前對(duì)象86
5.8static修飾符87
5.8.1靜態(tài)變量87
5.8.2靜態(tài)方法89
5.8.3main方法詳解 91
5.8.4靜態(tài)成員特點(diǎn) 91
5.9String類(lèi)92
5.10對(duì)象參數(shù)實(shí)例95
5.11聚集類(lèi)97
5.11.1聚集類(lèi)實(shí)例97
5.11.2銀行操作主界面101
5.12內(nèi)部類(lèi)105
5.12.1類(lèi)中定義的內(nèi)部類(lèi)105
5.12.2內(nèi)部類(lèi)被外部引用106
5.12.3方法中定義的內(nèi)部類(lèi)107
習(xí)題5108
編程練習(xí)109
第6章封裝112
6.1類(lèi)的抽象與封裝112
6.2Java中的包113
6.2.1package語(yǔ)句113
6.2.2import語(yǔ)句115
6.2.3Calendar與DateFormat類(lèi)116
6.3類(lèi)的成員的訪問(wèn)控制118
6.3.1包訪問(wèn)權(quán)限118
6.3.2public: 接口訪問(wèn)權(quán)限118
6.3.3private: 類(lèi)內(nèi)部訪問(wèn)權(quán)限119
6.3.4protected: 繼承訪問(wèn)權(quán)限119
6.4類(lèi)的訪問(wèn)權(quán)限119
6.5鏈表實(shí)例120
6.5.1鏈表結(jié)點(diǎn)120
6.5.2鏈表類(lèi)121
6.5.3測(cè)試類(lèi)125
習(xí)題6125
編程練習(xí)126
第7章繼承128
7.1繼承的定義與實(shí)現(xiàn)128
7.1.1繼承實(shí)例128
7.1.2繼承的定義128
7.1.3繼承的實(shí)現(xiàn)129
7.1.4繼承的結(jié)果132
7.2方法重寫(xiě)132
7.3super關(guān)鍵字135
7.3.1使用super訪問(wèn)父類(lèi)成員135
7.3.2使用super調(diào)用父類(lèi)構(gòu)造方法137
7.3.3構(gòu)造子類(lèi)對(duì)象137
7.3.4super與this138
7.4抽象類(lèi)139
7.4.1Employee抽象類(lèi)139
7.4.2抽象類(lèi)實(shí)例140
7.4.3抽象類(lèi)的子類(lèi)實(shí)例140
7.5接口142
7.5.1定義接口143
7.5.2接口實(shí)例143
7.6final修飾符144
7.6.1final修飾類(lèi)145
7.6.2final修飾方法145
7.7Object類(lèi)145
7.7.1toString()方法146
7.7.2equals()方法147
7.8類(lèi)的關(guān)系147
7.8.1依賴147
7.8.2關(guān)聯(lián)148
7.8.3聚合148
7.8.4組合149
7.9綜合實(shí)例: 組裝計(jì)算機(jī)150
習(xí)題7152
編程練習(xí)153
第8章多態(tài)155
8.1多態(tài)實(shí)例155
8.1.1句柄引用對(duì)象實(shí)例155
8.1.2父類(lèi)句柄引用子類(lèi)對(duì)象156
8.2動(dòng)態(tài)綁定157
8.3對(duì)象的多態(tài)性159
8.3.1向上轉(zhuǎn)型161
8.3.2向下轉(zhuǎn)型161
8.3.3instanceof運(yùn)算符161
8.4多態(tài)應(yīng)用實(shí)例162
8.4.1接口作為參數(shù)實(shí)例162
8.4.2父類(lèi)作為方法返回類(lèi)型實(shí)例164
8.4.3面向接口編程168
習(xí)題8168
編程練習(xí)169
第3篇高級(jí)面向?qū)ο笤O(shè)計(jì)
第9章圖形用戶界面設(shè)計(jì)1739.1Swing和AWT173
9.1.1AWT組件173
9.1.2Swing組件173
9.1.3容器類(lèi)組件174
9.2創(chuàng)建一個(gè)基本GUI程序175
9.2.1使用JFrame類(lèi)創(chuàng)建一個(gè)框架175
9.2.2在框架中添加組件176
9.2.3設(shè)置界面布局 177
9.2.4事件處理183
9.3常用的事件及其相應(yīng)的監(jiān)聽(tīng)器接口185
9.3.1Java中事件185
9.3.2Windows事件處理186
9.3.3鍵盤(pán)事件處理189
9.3.4鼠標(biāo)事件處理192
9.4菜單193
9.4.1菜單的設(shè)計(jì)與實(shí)現(xiàn)193
9.4.2實(shí)現(xiàn)菜單項(xiàng)事件處理代碼195
習(xí)題9198
編程練習(xí)199
第10章異常處理200
10.1Java異常處理200
10.2Exception類(lèi)201
10.3使用異常處理202
10.3.1try catch finally塊202
10.3.2catch塊的順序203
10.3.3拋出異常205
10.4自定義異常205
習(xí)題10207
編程練習(xí)208
第11章集合類(lèi)209
11.1Iterable接口210
11.2Collection接口210
11.3List接口 212
11.3.1LinkedList類(lèi)212
11.3.2ArrayList類(lèi)212
11.3.3Vector類(lèi)213
11.3.4Stack類(lèi)213
11.4Set接口214
11.4.1Set接口常用方法214
11.4.2Set接口實(shí)例215
11.5Map接口216
11.5.1Map常用方法216
11.5.2HashMap管理網(wǎng)絡(luò)名和密碼217
11.6泛型218
11.7集合類(lèi)實(shí)例: 書(shū)籍管理219
習(xí)題11223
編程練習(xí)223
第12章輸入輸出流及文件處理225
12.1I O流225
12.2字節(jié)流226
12.2.1InputStream類(lèi)常用方法226
12.2.2OutputStream類(lèi)常用方法227
12.2.3文件數(shù)據(jù)流228
12.2.4實(shí)例: 輸入信息保存到文件228
12.2.5讀取并顯示文件230
12.2.6文件復(fù)制231
12.3字符流232
12.3.1InputStreamReader和OutputStreamWriter233
12.3.2字符流實(shí)例233
12.4文件輸入輸出234
12.4.1文件基本操作234
12.4.2文件隨機(jī)讀寫(xiě)236
12.5對(duì)象序列化237
12.5.1存儲(chǔ)對(duì)象237
12.5.2Car對(duì)象序列化實(shí)例238
12.5.3存儲(chǔ)和讀取序列化對(duì)象信息238
12.6正則表達(dá)式240
12.6.1正則表達(dá)式的基本概念240
12.6.2在Java中使用正則表達(dá)式242
習(xí)題12247
編程練習(xí)247
第13章多線程248
13.1線程概述248
13.1.1線程的概念248
13.1.2多線程248
13.2創(chuàng)建線程249
13.2.1繼承Thread類(lèi)249
13.2.2實(shí)現(xiàn)Runnable接口250
13.3線程的狀態(tài)251
13.3.1線程的5種狀態(tài)251
13.3.2線程的調(diào)度252
13.4資源共享與線程同步254
13.4.1資源共享254
13.4.2線程同步256
13.4.3等待與通知257
13.4.4死鎖260
習(xí)題13261
編程練習(xí)263
第14章網(wǎng)絡(luò)編程264
14.1Java網(wǎng)絡(luò)編程基礎(chǔ)264
14.1.1IP地址264
14.1.2端口號(hào)265
14.2InetAddress類(lèi)265
14.3使用URL類(lèi)訪問(wèn)網(wǎng)絡(luò)資源267
14.4Socket套接字編程269
14.4.1使用TCP通信269
14.4.2使用UDP通信272
習(xí)題14273
編程練習(xí)273
參考文獻(xiàn)274