Java面向對象程序設計:思想·方法·應用(微課視頻版)
化誌章 揭安全 石海鶴 王嵐
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書基於Java語言,以案例為核心,問題求解為主線,快速深入地介紹面向對象程序設計的基本思想、方法和應用,以及GUI編程、線程、IO流等高級應用框架。 全書包括三部分:第1部分Java入門,對應第1章和第2章,討論Java概況、JDK配置,從C過渡到Java,並涉及一些面向對象的基本概念、理念和語法元素;第2部分面向對象程序設計,對應第3章,結合案例,系統闡述面向對象程序設計方法及其語法支撐機制,還包括異常處理、內部類等輔助機制;第3部分實用技術和框架,包括第4~10章,涉及圖形用戶編程、線程機制、IO流、網絡通信、泛型和集合框架、Java連接數據庫、反射機制與代理模式等內容。 本書在內容組織上,基於案例介紹內容,直觀、高效;在內容設計上,所有案例均有目的、設計、源碼和分析,便於快速深入地理解、領會;在內容表述上,結合豐富的圖解和形象的比喻,破解技術難點。各章的章首配有導引,指明本章的設置目的、內容組織的邏輯主線、重點和難點等內容;章末配有小結,進行簡單梳理、提煉;“思考與練習”中提供一組問答題,用於回顧和檢測對前期內容的理解,並提供一些綜合型編程作業。 本書適合作為高等院校電腦、軟件工程專業和各種軟件培訓機構的教材,也特別適合廣大程序員及其他Java開發愛好者自學、參考。
作者簡介
化誌章,副教授,對程序設計語言、方法和計算機發展史感興趣,長期從事java及其它程序設計類課程的教學。對高校課堂教學普遍存在“內容多、學時少、學生理解淺”問題,歷經十餘年探索與實踐,形成獨特的解決方案,總結出高效課堂教學、訓練專業思維、提高自學能力的新途徑。本書是該方案的具體載體。
目錄大綱
第一部分Java入門
第1章Java及其開發環境3
1.0本章方法學導引3
1.1Java的產生與發展3
1.1.1嵌入式項目孕育Java4
1.1.2網絡小程序讓Java起飛4
1.1.3Java開發平臺和相關術語5
1.2Java的特色5
1.2.1Java需要具備跨平臺能力5
1.2.2Java需要支持面向對象7
1.2.3Java要追求高可靠性7
1.2.4Java需要更大的字符集10
1.3Java開發環境11
1.3.1JDK的下載和配置12
1.3.2Java開發工具簡介13
1.3.3Java應用程序框架及其編譯、運行14
本章小結15
思考與練習15
第2章從C過渡到Java16
2.0本章方法學導引16
2.1快速入門17
2.1.1Java類型概述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.1Java虛擬機的內部體系結構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一些工具類的使用
2.5.1計算程序運行時間
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語法認知-199
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.6OOP蘊含的思想137
3.6.1OOP視角137
3.6.2封裝:讓對象獨立、簡單和安全138
3.6.3繼承:重用、分散複雜性、語義兼容139
3.多態:對象的自適應能力140
3.6.5抽象:無處不在且又特色140
3.7語法認知-2141
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.1GUI編程概述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.0169
4.3拓展實踐173
4.3.1設計能設定全局字體的工具類173
4.3.2按鈕式計算器175
4.3.3文本框式計算器2.0178
*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.1IO流概述230
6.1.1IO流的引入230
6.1.2IO流的基本應用框架230
6.1.3IO流類庫簡介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的點對點通信方式2
7.3.1概述2
7.3.2點對點通信模型2
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.2List應用示例301
8.4.3Set應用示例303
8.4.4Map應用示例306
8.5示例:設計泛型樹的疊代器307
本章小結312
思考與練習313
第9章Java連接數據庫314
9.0本章方法學導引314
9.1JDBC簡介315
9.2MySQL的安裝、使用和配置316
9.2.1MySQL的下載和安裝316
9.2.2MySQL數據庫基本操作316
9.2.3在IDE中設置MySQL驅動路徑318
9.3通過JDBC操縱MySQL318
9.3.1JDBC操縱數據庫的基本框架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



