Java面向對象程式設計:思想·方法·套用

Java面向對象程式設計:思想·方法·套用

《Java面向對象程式設計:思想·方法·套用》是2021年清華大學出版社出版的圖書。

基本介紹

  • 中文名:Java面向對象程式設計:思想·方法·套用
  • 作者:化志章,揭安全,石海鶴 等
  • 類別:教材
  • 出版社:清華大學出版社
  • 出版時間:2021年9月
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302590668
內容簡介,圖書目錄,作者簡介,

內容簡介

基於Java語言,以案例為核心,問題求解為主線,快速深入地介紹面向對象程式設計的基本思想、方法和套用,以及GUI編程、執行緒、IO流等高級套用框架。
全書包括三部分:第1部分Java入門,對應第1章和第2章,討論Java概況、JDK配置,從C過渡到Java,並涉及一些面向對象的基本概念、理念和語法元素;第2部分面向對象程式設計,對應第3章,結合案例,系統闡述面向對象程式設計方法及其語法支撐機制,還包括異常處理、內部類等輔助機制;第3部分實用技術和框架,包括第4~10章,涉及圖形用戶編程、執行緒機制、IO流、網路通信、泛型和集合框架、Java連線資料庫、反射機制與代理模式等內容。
本書在內容組織上,基於案例介紹內容,直觀、高效;在內容設計上,所有案例均有目的、設計、源碼和分析,便於快速深入地理解、領會;在內容表述上,結合豐富的圖解和形象的比喻,破解技術難點。各章的章首配有導引,指明本章的設定目的、內容組織的邏輯主線、重點和難點等內容;章末配有小結,進行簡單梳理、提煉;“思考與練習”中提供一組問答題,用於回顧和檢測對前期內容的理解,並提供一些綜合型編程作業。
本書適合作為高等院校計算機、軟體工程專業和各種軟體培訓機構的教材,也特別適合廣大程式設計師及其他Java開發愛好者自學、參考。

圖書目錄

第1章 Java及其開發環境 3
1.0 本章方法學導引 3
1.1 Java的產生與發展 3
1.1.1 嵌入式項目孕育Java 4
1.1.2 網路小程式讓Java起飛 4
1.1.3 Java開發平台和相關術語 5
1.2 Java的特色 5
1.2.1 Java需要具備跨平台能力 5
1.2.2 Java需要支持面向對象 7
1.2.3 Java要追求高可靠性 7
1.2.4 Java需要更大的字元集 10
1.3 Java開發環境 11
1.3.1 JDK的下載和配置 12
1.3.2 Java開發工具簡介 13
1.3.3 Java應用程式框架及其編譯、運行 14
本章小結 15
思考與練習 15
第2章 從C過渡到Java 16
2.0 本章方法學導引 16
2.1 快速入門 17
2.1.1 Java類型概述 17
2.1.2 入門示例:求累加和 18
2.1.3 理解類和對象:汽車類的設計 20
2.1.4 順序表及其套用 23
2.1.5 單鍊表及其套用 28
2.2 強化實踐 30
2.2.1 二叉樹及其套用 30
*2.2.2 樹及其套用 34
2.2.3 班級信息管理系統1.0版 39
2.2.4 回顧與小結 42
2.3 從記憶體管理視角觀察程式 47
2.3.1 Java虛擬機的內部體系結構 47
2.3.2 對象如何關聯到方法 48
2.3.3 棧記憶體管理和堆記憶體管理 48
2.3.4 函式間的參數傳遞 50
2.3.5 再談String和數組 52
*2.4 班級信息管理系統2.0版 55
2.4.1 輸入輸出的格式化 55
2.4.2 讀檔案和單項排序 58
2.4.3 對班級信息多種方式排序 62
2.4.4 對系統設計的反思 63
2.5 一些工具類的使用 64
2.5.1 計算程式運行時間 64
2.5.2 生成驗證碼、計算π 66
2.5.3 識別C標識符、手機號碼、信箱 68
*2.6 綜合示例 73
2.6.1 示例:設計文本計算器 73
2.6.2 示例:遊戲中玩家組隊 77
本章小結 79
思考與練習 80
第2部分 面向對象程式設計
第3章 面向對象程式設計基礎 85
3.0 本章方法學導引 85
3.1 面向對象程式設計思想的引入 86
3.1.1 不得不提的結構化程式設計 86
3.1.2 這些問題很難用結構化方法處理 88
3.1.3 面向對象程式設計方法的誕生 89
3.1.4 面向對象程式設計方法簡介 90
*3.2 基於對象視角開發圖書借閱系統 90
3.2.1 需求描述 90
3.2.2 類的設計 91
3.2.3 系統數據組織 92
3.2.4 業務邏輯 93
3.2.5 系統實現 94
3.2.6 反思和拓展 98
3.3 語法認知-1 99
3.3.1 示例:帶約束的三角形 99
3.3.2 示例:狗嗅、狗咬人 101
3.3.3 示例:引用自己的成員為何出錯 105
3.3.4 示例:構造直角三角 106
3.3.5 示例:禁止創建邊值錯誤的三角形 108
3.3.6 示例:銀行取款攻防 110
3.3.7 語法小結 112
3.4 基於抽象類和接口的編程 113
3.4.1 示例:設計形狀智慧型識別器 113
3.4.2 抽象方法、抽象類和接口 115
3.4.3 示例:模擬主機板集成各類板卡 118
3.4.4 示例:遊戲兵種設計 120
3.5 設計模式 124
3.5.1 設計模式概述 124
3.5.2 策略模式:實現國際化電商計價 125
3.5.3 裝飾模式:列印票據 128
3.5.4 適配器模式:拼接兩個系統 133
3.6 OOP蘊含的思想 137
3.6.1 OOP視角 137
3.6.2 封裝:讓對象獨立、簡單和安全 138
3.6.3 繼承:重用、分散複雜性、語義兼容 139
3.6.4 多態:對象的自適應能力 140
3.6.5 抽象:無處不在且又獨具特色 140
3.7 語法認知-2 141
3.7.1 包和許可權 141
3.7.2 不可或缺的異常機制 146
3.7.3 比構造函式更早執行的初始化塊 152
3.7.4 再談內部類 153
本章小結 154
思考與練習 155
第3部分 實用技術和框架
第4章 圖形用戶界面編程 159
4.0 本章方法學導引 159
4.1 GUI編程概述 160
4.1.1 字元用戶界面和圖形用戶界面 160
4.1.2 認識GUI的組件 160
4.1.3 界面的布局 161
4.1.4 示例:構造用戶登錄界面 161
4.2 事件處理 163
4.2.1 委託事件處理模型簡介 163
4.2.2 登錄界面1.0:單擊按鈕事件 163
4.2.3 登錄界面2.0:加入鍵盤、窗體事件 165
4.2.4 登錄界面3.0:更簡潔的實現 168
4.2.5 綜合示例:文本框式計算器1.0 169
4.3 拓展實踐 173
4.3.1 設計能設定全局字型的工具類 173
4.3.2 按鈕式計算器 175
4.3.3 文本框式計算器2.0 178
*4.3.4 生成配貨地址 181
4.3.5 模擬浦豐投針試驗 189
4.3.6 實現滾動字幕 192
4.4 關於事件和事件處理的討論 193
本章小結 194
思考與練習 195
第5章 執行緒機制 196
5.0 本章方法學導引 196
5.1 執行緒機制概述 197
5.1.1 引入執行緒:實現並發程式設計 197
5.1.2 進程與執行緒:兩種不同粒度的並發機制 197
5.1.3 執行緒概述 198
5.2 執行緒的構造和運行 200
5.2.1 繼承Thread類構造執行緒 200
5.2.2 用Runnable構造執行緒 203
5.2.3 其他構造執行緒的方式 204
5.3 執行緒的互斥機制 205
5.3.1 概述 205
5.3.2 示例:模擬銀行存取款 206
5.3.3 示例:模擬共享列印管理 208
5.3.4 示例:模擬網上搶票 210
5.4 執行緒的同步機制 213
5.4.1 同步的含義和實現框架 213
5.4.2 示例:模擬生產者—消費者問題 214
5.4.3 示例:模擬生產線 217
*5.4.4 示例:並發的歸併排序 220
*5.5 關於並發設計、套用的進一步討論 225
5.5.1 並發設計策略 225
5.5.2 主執行緒、子執行緒、守護執行緒 226
5.5.3 定時器 226
5.5.4 執行緒組與執行緒池 227
本章小結 227
思考與練習 228
第6章 IO流 229
6.0 本章方法學導引 229
6.1 IO流概述 230
6.1.1 IO流的引入 230
6.1.2 IO流的基本套用框架 230
6.1.3 IO流類庫簡介 233
6.2 目錄檔案操作 236
6.2.1 普通檔案複製 236
6.2.2 目錄複製 237
6.2.3 列印目錄樹 239
6.2.4 合併檔案 240
6.3 其他操作 242
6.3.1 用數據流讀、寫檔案 242
6.3.2 本文編碼轉換 243
6.3.3 序列化和反序列化 245
*6.3.4 多執行緒複製大型檔案 252
本章小結 254
思考與練習 255
第7章 網路通信 256
7.0 本章方法學導引 256
7.1 網路編程基礎 257
7.1.1 計算機網路與Java語言 257
7.1.2 網路通信概述 258
7.2 基於網址的網路編程 259
7.2.1 概述 259
7.2.2 提取網址和遠程對象信息 260
7.2.3 示例:設計簡單的檔案下載器 262
7.3 基於Socket的點對點通信方式 264
7.3.1 概述 264
7.3.2 點對點通信模型 264
7.3.3 示例:二人間的一句話通信 266
7.3.4 示例:二人間隨意聊天 269
*7.3.5 示例:群聊的設計 272
7.4 基於數據報的端對端通信方式 279
7.4.1 通信模型 279
7.4.2 示例:二人間的一句話通信 280
本章小結 283
思考與練習 283
第8章 泛型與集合框架 285
8.0 本章方法學導引 285
8.1 認識泛型 286
8.1.1 泛型引入背景 286
8.1.2 泛型的定義和使用 286
8.2 泛型機制套用 288
8.2.1 設計自動擴容的泛型順序表 288
8.2.2 對泛型順序表加約束 290
8.2.3 對泛型順序表“模糊”讀寫 291
8.2.4 面向泛型順序表的工具類 294
*8.3 泛型實現機理 297
8.4 泛型綜合套用:集合框架 299
8.4.1 集合框架簡介 299
8.4.2 List套用示例 301
8.4.3 Set套用示例 303
8.4.4 Map套用示例 306
8.5 示例:設計泛型樹的疊代器 307
本章小結 312
思考與練習 313
第9章 Java連線資料庫 314
9.0 本章方法學導引 314
9.1 JDBC簡介 315
9.2 MySQL的安裝、使用和配置 316
9.2.1 MySQL的下載和安裝 316
9.2.2 MySQL資料庫基本操作 316
9.2.3 在IDE中設定MySQL驅動路徑 318
9.3 通過JDBC操縱MySQL 318
9.3.1 JDBC操縱資料庫的基本框架 319
9.3.2 藉助JDBC對資料庫增、刪、改、查 321
本章小結 324
思考與練習 324
第10章 反射機制與代理模式 325
10.0 本章方法學導引 325
10.1 反射機制概述 326
10.2 反射的簡單套用:簡單工廠模式 326
10.3 反射機制的剖析和套用 329
10.3.1 剖析反射機制 329
10.3.2 示例:解析給定的Class型對象 331
10.3.3 示例:抽象工廠模式 334
10.4 代理模式 338
10.4.1 代理模式簡介 339
10.4.2 靜態代理模式 339
10.4.3 動態代理模式 343
本章小結 346
思考與練習 346
附錄A 課外閱讀——Eclipse集成開發環境 347
附錄B 課外閱讀——軟體設計者的關注 354

作者簡介

化志章,副教授,對程式設計語言、方法和計算機發展史感興趣,長期從事java及其它程式設計類課程的教學。對高校課堂教學普遍存在“內容多、學時少、學生理解淺”問題,歷經十餘年探索與實踐,形成獨特的解決方案,總結出高效課堂教學、訓練專業思維、提高自學能力的新途徑。本書是該方案的具體載體。

相關詞條

熱門詞條

聯絡我們