本書基于Java語言介紹面向對象程序設計理念,引入UML工具解釋設計過程;用豐富的案例闡述面向對象程序設計的基本理論和方法,詳細介紹面向對象的基本特性、基本技術,知識點與應用實例相結合。全書分為三篇: 第1篇,編程基礎,介紹Java的編程基礎;第2篇,Java面向對象,介紹面向對象的封裝性、繼承性和多態(tài)性;第3篇,高級面向對象設計,介紹UI、多線程、網絡編程等內容。本書內容從簡單到復雜,階梯式遞進,讀者可以根據需要選讀。
本書介紹面向對象思想,注重理論聯(lián)系實際,既可作為高等院校軟件工程、計算機相關專業(yè)的本科學生教材,也可作為研究生的參考資料。
目錄Contents第1篇編 程 基 礎
第1章概述31.1面向對象編程思想3
1.1.1面向對象編程語言3
1.1.2類和對象4
1.1.3面向對象的特征4
1.1.4Java語言的特點6
1.2編寫Java程序的步驟8
1.2.1準備Java開發(fā)環(huán)境8
1.2.2準備編程工具12
1.2.3編寫第一個Java程序12
1.3標準I O16
1.3.1標準輸入流16
1.3.2通過Scanner類實現(xiàn)輸入輸出18
習題119
編程練習19
第2章基礎知識20
2.1標識符20
2.2數(shù)據類型21
2.2.1基本數(shù)據類型22
2.2.2類型轉換23
2.3變量和賦值24
2.4常量25
2.5運算符和表達式25
2.5.1基本賦值運算26 Java面向對象程序設計目錄2.5.2算術運算26
2.5.3關系運算28
2.5.4布爾運算29
2.5.5位運算30
2.5.6條件運算30
2.5.7復合賦值運算符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求和運算實例37
2.10while循環(huán)38
2.10.1while循環(huán)語句38
2.10.2while循環(huán)實現(xiàn)輸入控制38
2.11do…while循環(huán)39
2.11.1do…while語句39
2.11.2do…while實現(xiàn)退出操作39
2.12break與continue39
2.12.1break語句39
2.12.2continue語句40
2.13綜合實例: 十進制與二進制轉換41
2.13.1問題分析41
2.13.2算法設計42
2.13.3主程序42
習題243
編程練習44
第3章方法46
3.1定義方法46
3.2調用方法46
3.3方法實例48
3.4方法應用50
3.4.1單個參數(shù)的方法50
3.4.2多個參數(shù)的方法51
3.4.3遞歸方法53
3.4.4多個返回值的方法54
3.5方法重載54
習題355
編程練習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ù)組實例61
4.3數(shù)組名的使用62
4.4數(shù)組作為方法的參數(shù)和返回值63
4.4.1數(shù)組作為方法參數(shù)63
4.4.2數(shù)組作為返回類型64
4.5增強的for循環(huán)65
4.6多維數(shù)組66
4.6.1二維數(shù)組定義67
4.6.2初始化二維數(shù)組67
4.6.3二維數(shù)組實例68
習題469
編程練習70
第2篇Java面向對象
第5章類和對象755.1類與對象的關系75
5.2類的設計與UML建模75
5.3類76
5.3.1汽車類實例76
5.3.2定義類77
5.4對象78
5.4.1創(chuàng)建對象78
5.4.2使用對象79
5.5成員變量與局部變量80
5.6構造方法81
5.6.1為什么需要構造方法81
5.6.2構造方法重載82
5.7this關鍵字84
5.7.1this表示類的成員84
5.7.2this調用構造方法85
5.7.3this表示當前對象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)成員特點 91
5.9String類92
5.10對象參數(shù)實例95
5.11聚集類97
5.11.1聚集類實例97
5.11.2銀行操作主界面101
5.12內部類105
5.12.1類中定義的內部類105
5.12.2內部類被外部引用106
5.12.3方法中定義的內部類107
習題5108
編程練習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包訪問權限118
6.3.2public: 接口訪問權限118
6.3.3private: 類內部訪問權限119
6.3.4protected: 繼承訪問權限119
6.4類的訪問權限119
6.5鏈表實例120
6.5.1鏈表結點120
6.5.2鏈表類121
6.5.3測試類125
習題6125
編程練習126
第7章繼承128
7.1繼承的定義與實現(xiàn)128
7.1.1繼承實例128
7.1.2繼承的定義128
7.1.3繼承的實現(xiàn)129
7.1.4繼承的結果132
7.2方法重寫132
7.3super關鍵字135
7.3.1使用super訪問父類成員135
7.3.2使用super調用父類構造方法137
7.3.3構造子類對象137
7.3.4super與this138
7.4抽象類139
7.4.1Employee抽象類139
7.4.2抽象類實例140
7.4.3抽象類的子類實例140
7.5接口142
7.5.1定義接口143
7.5.2接口實例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類的關系147
7.8.1依賴147
7.8.2關聯(lián)148
7.8.3聚合148
7.8.4組合149
7.9綜合實例: 組裝計算機150
習題7152
編程練習153
第8章多態(tài)155
8.1多態(tài)實例155
8.1.1句柄引用對象實例155
8.1.2父類句柄引用子類對象156
8.2動態(tài)綁定157
8.3對象的多態(tài)性159
8.3.1向上轉型161
8.3.2向下轉型161
8.3.3instanceof運算符161
8.4多態(tài)應用實例162
8.4.1接口作為參數(shù)實例162
8.4.2父類作為方法返回類型實例164
8.4.3面向接口編程168
習題8168
編程練習169
第3篇高級面向對象設計
第9章圖形用戶界面設計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設置界面布局 177
9.2.4事件處理183
9.3常用的事件及其相應的監(jiān)聽器接口185
9.3.1Java中事件185
9.3.2Windows事件處理186
9.3.3鍵盤事件處理189
9.3.4鼠標事件處理192
9.4菜單193
9.4.1菜單的設計與實現(xiàn)193
9.4.2實現(xiàn)菜單項事件處理代碼195
習題9198
編程練習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
習題10207
編程練習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接口實例215
11.5Map接口216
11.5.1Map常用方法216
11.5.2HashMap管理網絡名和密碼217
11.6泛型218
11.7集合類實例: 書籍管理219
習題11223
編程練習223
第12章輸入輸出流及文件處理225
12.1I O流225
12.2字節(jié)流226
12.2.1InputStream類常用方法226
12.2.2OutputStream類常用方法227
12.2.3文件數(shù)據流228
12.2.4實例: 輸入信息保存到文件228
12.2.5讀取并顯示文件230
12.2.6文件復制231
12.3字符流232
12.3.1InputStreamReader和OutputStreamWriter233
12.3.2字符流實例233
12.4文件輸入輸出234
12.4.1文件基本操作234
12.4.2文件隨機讀寫236
12.5對象序列化237
12.5.1存儲對象237
12.5.2Car對象序列化實例238
12.5.3存儲和讀取序列化對象信息238
12.6正則表達式240
12.6.1正則表達式的基本概念240
12.6.2在Java中使用正則表達式242
習題12247
編程練習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實現(xiàn)Runnable接口250
13.3線程的狀態(tài)251
13.3.1線程的5種狀態(tài)251
13.3.2線程的調度252
13.4資源共享與線程同步254
13.4.1資源共享254
13.4.2線程同步256
13.4.3等待與通知257
13.4.4死鎖260
習題13261
編程練習263
第14章網絡編程264
14.1Java網絡編程基礎264
14.1.1IP地址264
14.1.2端口號265
14.2InetAddress類265
14.3使用URL類訪問網絡資源267
14.4Socket套接字編程269
14.4.1使用TCP通信269
14.4.2使用UDP通信272
習題14273
編程練習273
參考文獻274