本書基于Java語言介紹面向?qū)ο蟪绦蛟O(shè)計(jì)理念,引入U(xiǎn)ML工具解釋設(shè)計(jì)過程;用豐富的案例闡述面向?qū)ο蟪绦蛟O(shè)計(jì)的基本理論和方法,詳細(xì)介紹面向?qū)ο蟮幕咎匦浴⒒炯夹g(shù),知識點(diǎn)與應(yīng)用實(shí)例相結(jié)合。全書分為三篇: 第1篇,編程基礎(chǔ),介紹Java的編程基礎(chǔ);第2篇,Java面向?qū)ο,介紹面向?qū)ο蟮姆庋b性、繼承性和多態(tài)性;第3篇,高級面向?qū)ο笤O(shè)計(jì),介紹UI、多線程、網(wǎng)絡(luò)編程等內(nèi)容。本書內(nèi)容從簡單到復(fù)雜,階梯式遞進(jìn),讀者可以根據(jù)需要選讀。
本書介紹面向?qū)ο笏枷耄⒅乩碚撀?lián)系實(shí)際,既可作為高等院校軟件工程、計(jì)算機(jī)相關(guān)專業(yè)的本科學(xué)生教材,也可作為研究生的參考資料。
? 這是一本進(jìn)階式學(xué)習(xí)的面向?qū)ο蟪绦蛟O(shè)計(jì)教材,全書分為基礎(chǔ)篇、面向?qū)ο笃透呒壠瑑?nèi)容由淺入深。
? 將面向?qū)ο蠓治雠c程序開發(fā)相結(jié)合,介紹面向?qū)ο蟪绦虻脑O(shè)計(jì)與實(shí)現(xiàn)。以UML語言描述類的設(shè)計(jì),用Java語言實(shí)現(xiàn)。
? 書中有豐富的實(shí)例,讀者可以了解所學(xué)知識在具體問題中的應(yīng)用。將面向?qū)ο笕谌雽?shí)踐中,加深讀者對知識的理解與掌握。
? 每章配有習(xí)題和實(shí)驗(yàn),幫助讀者鞏固所學(xué)知識,提高編程能力。
? 本書提供書中實(shí)例的源代碼和電子課件,讀者可登錄清華大學(xué)出版社網(wǎng)站下載使用。
目錄Contents第1篇編 程 基 礎(chǔ)
第1章概述31.1面向?qū)ο缶幊趟枷?
1.1.1面向?qū)ο缶幊陶Z言3
1.1.2類和對象4
1.1.3面向?qū)ο蟮奶卣?
1.1.4Java語言的特點(diǎn)6
1.2編寫Java程序的步驟8
1.2.1準(zhǔn)備Java開發(fā)環(huán)境8
1.2.2準(zhǔn)備編程工具12
1.2.3編寫第一個Java程序12
1.3標(biāo)準(zhǔn)I O16
1.3.1標(biāo)準(zhǔn)輸入流16
1.3.2通過Scanner類實(shí)現(xiàn)輸入輸出18
習(xí)題119
編程練習(xí)19
第2章基礎(chǔ)知識20
2.1標(biāo)識符20
2.2數(shù)據(jù)類型21
2.2.1基本數(shù)據(jù)類型22
2.2.2類型轉(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語句32
2.7.1if語句的三種形式32
2.7.2使用if分段顯示34
2.8switch語句35
2.8.1使用switch分段顯示35
2.8.2switch語句詳解35
2.9for循環(huán)36
2.9.1for循環(huán)語法36
2.9.2求和運(yùn)算實(shí)例37
2.10while循環(huán)38
2.10.1while循環(huán)語句38
2.10.2while循環(huán)實(shí)現(xiàn)輸入控制38
2.11do…while循環(huán)39
2.11.1do…while語句39
2.11.2do…while實(shí)現(xiàn)退出操作39
2.12break與continue39
2.12.1break語句39
2.12.2continue語句40
2.13綜合實(shí)例: 十進(jìn)制與二進(jìn)制轉(zhuǎn)換41
2.13.1問題分析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單個參數(shù)的方法50
3.4.2多個參數(shù)的方法51
3.4.3遞歸方法53
3.4.4多個返回值的方法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動態(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ù)組作為返回類型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章類和對象755.1類與對象的關(guān)系75
5.2類的設(shè)計(jì)與UML建模75
5.3類76
5.3.1汽車類實(shí)例76
5.3.2定義類77
5.4對象78
5.4.1創(chuàng)建對象78
5.4.2使用對象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表示類的成員84
5.7.2this調(diào)用構(gòu)造方法85
5.7.3this表示當(dāng)前對象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類92
5.10對象參數(shù)實(shí)例95
5.11聚集類97
5.11.1聚集類實(shí)例97
5.11.2銀行操作主界面101
5.12內(nèi)部類105
5.12.1類中定義的內(nèi)部類105
5.12.2內(nèi)部類被外部引用106
5.12.3方法中定義的內(nèi)部類107
習(xí)題5108
編程練習(xí)109
第6章封裝112
6.1類的抽象與封裝112
6.2Java中的包113
6.2.1package語句113
6.2.2import語句115
6.2.3Calendar與DateFormat類116
6.3類的成員的訪問控制118
6.3.1包訪問權(quán)限118
6.3.2public: 接口訪問權(quán)限118
6.3.3private: 類內(nèi)部訪問權(quán)限119
6.3.4protected: 繼承訪問權(quán)限119
6.4類的訪問權(quán)限119
6.5鏈表實(shí)例120
6.5.1鏈表結(jié)點(diǎn)120
6.5.2鏈表類121
6.5.3測試類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方法重寫132
7.3super關(guān)鍵字135
7.3.1使用super訪問父類成員135
7.3.2使用super調(diào)用父類構(gòu)造方法137
7.3.3構(gòu)造子類對象137
7.3.4super與this138
7.4抽象類139
7.4.1Employee抽象類139
7.4.2抽象類實(shí)例140
7.4.3抽象類的子類實(shí)例140
7.5接口142
7.5.1定義接口143
7.5.2接口實(shí)例143
7.6final修飾符144
7.6.1final修飾類145
7.6.2final修飾方法145
7.7Object類145
7.7.1toString()方法146
7.7.2equals()方法147
7.8類的關(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句柄引用對象實(shí)例155
8.1.2父類句柄引用子類對象156
8.2動態(tài)綁定157
8.3對象的多態(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父類作為方法返回類型實(shí)例164
8.4.3面向接口編程168
習(xí)題8168
編程練習(xí)169
第3篇高級面向?qū)ο笤O(shè)計(jì)
第9章圖形用戶界面設(shè)計(jì)1739.1Swing和AWT173
9.1.1AWT組件173
9.1.2Swing組件173
9.1.3容器類組件174
9.2創(chuàng)建一個基本GUI程序175
9.2.1使用JFrame類創(chuàng)建一個框架175
9.2.2在框架中添加組件176
9.2.3設(shè)置界面布局 177
9.2.4事件處理183
9.3常用的事件及其相應(yīng)的監(jiān)聽器接口185
9.3.1Java中事件185
9.3.2Windows事件處理186
9.3.3鍵盤事件處理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類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章集合類209
11.1Iterable接口210
11.2Collection接口210
11.3List接口 212
11.3.1LinkedList類212
11.3.2ArrayList類212
11.3.3Vector類213
11.3.4Stack類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集合類實(shí)例: 書籍管理219
習(xí)題11223
編程練習(xí)223
第12章輸入輸出流及文件處理225
12.1I O流225
12.2字節(jié)流226
12.2.1InputStream類常用方法226
12.2.2OutputStream類常用方法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ī)讀寫236
12.5對象序列化237
12.5.1存儲對象237
12.5.2Car對象序列化實(shí)例238
12.5.3存儲和讀取序列化對象信息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類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端口號265
14.2InetAddress類265
14.3使用URL類訪問網(wǎng)絡(luò)資源267
14.4Socket套接字編程269
14.4.1使用TCP通信269
14.4.2使用UDP通信272
習(xí)題14273
編程練習(xí)273
參考文獻(xiàn)274