Java面向?qū)ο蟪绦蛟O(shè)計(jì)
定 價(jià):44.5 元
- 作者:袁紹欣 ,等 著
- 出版時(shí)間:2012/6/1
- ISBN:9787302280354
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312JA
- 頁碼:419
- 紙張:膠版紙
- 版次:2
- 開本:16開
《高等學(xué)校教材·計(jì)算機(jī)科學(xué)與技術(shù):Java面向?qū)ο蟪绦蛟O(shè)計(jì)(第2版)》的內(nèi)容大體可分為三個(gè)部分。第1章~第7章為第一部分,著重介紹Java面向?qū)ο蟮幕局R(shí)點(diǎn),主要有Java的基本環(huán)境、Java語言基礎(chǔ)、Java工程規(guī)范、面向?qū)ο蠡靖拍、基本特征、概念深化、異常處理等,讀者通過這部分的學(xué)習(xí)可以用Java語言建立起面向?qū)ο笏季S的能力,其中第4章~第6章是本部分的重點(diǎn);第8章~第16章為第二部分,著重介紹Java語言的應(yīng)用,主要有Java常用類庫(kù)與工具、線程、集合類框架、AWT與Swing圖形用戶界面、輸入/輸出、網(wǎng)絡(luò)通信、JDBC,讀者通過這部分的學(xué)習(xí)可以了解Java工程應(yīng)用的基礎(chǔ)知識(shí),其中第8章~第10章以及第14章、第16章是本部分的重點(diǎn);第17章~第20章為第三部分,著重介紹Java軟件體系結(jié)構(gòu)設(shè)計(jì),主要有UML、設(shè)計(jì)模式、軟件框架和分布式對(duì)象技術(shù),讀者通過這部分可以掌握和了解進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時(shí)需要用到的模型表達(dá)方式、設(shè)計(jì)思想、框架編程思維和分布式軟件設(shè)計(jì)的主要方法。
這三部分的內(nèi)容,囊括了Java語言和Java軟件結(jié)構(gòu)設(shè)計(jì)的主要知識(shí)點(diǎn),豐富了Java面向?qū)ο蟪绦蛟O(shè)計(jì)的內(nèi)涵,可由淺入深、循序漸進(jìn)地帶領(lǐng)讀者進(jìn)入Java面向?qū)ο蟪绦蛟O(shè)計(jì)的藝術(shù)殿堂。
突出軟件設(shè)計(jì)各要點(diǎn)間的關(guān)聯(lián)性。以UML表達(dá)設(shè)計(jì),以設(shè)計(jì)模式蘊(yùn)含設(shè)計(jì)思想,以軟件框架表達(dá)軟件設(shè)計(jì)的基礎(chǔ),以分布式對(duì)象技術(shù)體現(xiàn)軟件系統(tǒng)的設(shè)計(jì)架構(gòu),這四個(gè)方面是進(jìn)行軟件設(shè)計(jì)不可分割的有機(jī)組成要素。 軟件設(shè)計(jì)與代碼實(shí)現(xiàn)緊密結(jié)合。針對(duì)當(dāng)前很多軟件教材普遍存在的軟件設(shè)計(jì)缺乏實(shí)現(xiàn)代碼支撐而編程語言缺乏設(shè)計(jì)指導(dǎo)這一問題,本書加強(qiáng)了它們之間的聯(lián)系并使二者相輔相成。用圖形表達(dá)抽象的概念。圖形具有信息容量大且清晰直觀的特點(diǎn),用圖形表達(dá)抽象的軟件概念有助于引起讀者的興趣,提升他們理解的準(zhǔn)確度和記憶的持久性。 對(duì)Java與C++兩種語言進(jìn)行對(duì)比。雖然Java與C++都是面向?qū)ο蟮恼Z言,但許多類似的概念在語言的實(shí)現(xiàn)中卻迥然不同。對(duì)這些不同進(jìn)行對(duì)比有助于讀者深化對(duì)這兩種語言的理解,避免混淆。注重細(xì)節(jié)。本書特別強(qiáng)調(diào)語言和設(shè)計(jì)的細(xì)節(jié),這也是由計(jì)算機(jī)軟件實(shí)踐性很強(qiáng)這個(gè)特點(diǎn)決定的。
具備什么樣的知識(shí)與技能才算是具有面向?qū)ο蟪绦蛟O(shè)計(jì)的能力呢?顯然只掌握面向?qū)ο蟮恼Z言是遠(yuǎn)遠(yuǎn)不夠的,至少還需要掌握UML、設(shè)計(jì)模式、軟件框架、分布式對(duì)象技術(shù)才行。如果將面向?qū)ο蟪绦蛟O(shè)計(jì)看成一個(gè)有機(jī)整體,那么語言是細(xì)胞,UML是血液,設(shè)計(jì)模式是神經(jīng),軟件框架是骨架,分布式對(duì)象技術(shù)是器官和組織。也就是說,知識(shí)的理解應(yīng)該彼此滲透。正是基于這樣的理念,本書在第1版的基礎(chǔ)上擴(kuò)充出了軟件設(shè)計(jì)理論的相關(guān)內(nèi)容,同時(shí)也對(duì)Java語言學(xué)習(xí)內(nèi)容進(jìn)行了一些必要的調(diào)整,從而形成了如下三個(gè)特點(diǎn):
。1) 軟件設(shè)計(jì)知識(shí)的彼此貫通: Java編程語言、UML、設(shè)計(jì)模式、軟件框架、分布式對(duì)象技術(shù)5個(gè)方面通常會(huì)以5本教材的形式出現(xiàn),這樣很容易就割裂它們的內(nèi)在聯(lián)系。沒有面向?qū)ο缶幊陶Z言作為基礎(chǔ),面向?qū)ο笤O(shè)計(jì)就沒有根基; 而只有編程語言沒有設(shè)計(jì),則程序?qū)?huì)失去風(fēng)景和藝術(shù)感染力。設(shè)計(jì)的知識(shí)基礎(chǔ)是UML,設(shè)計(jì)模式那深邃的思想再也找不到比UML更好的表達(dá)形式了,而將設(shè)計(jì)模式用得爐火純青之處正是框架和中間件,離了框架和中間件的支持,在業(yè)界應(yīng)用廣泛的分布式設(shè)計(jì)與編程則寸步難行。因此將它們集成在一本書中講述,將會(huì)給讀者關(guān)于軟件設(shè)計(jì)的一個(gè)全景認(rèn)識(shí),因而本書適合作為大專院校的Java語言、UML、軟件體系結(jié)構(gòu)設(shè)計(jì)等課程的教學(xué)用書。
。2) 軟件設(shè)計(jì)知識(shí)講解的深入淺出: 集“全景認(rèn)識(shí)”于有限篇幅,對(duì)設(shè)計(jì)知識(shí)就不得不進(jìn)行濃縮,因而不要把本書當(dāng)成手冊(cè)來看待,如果進(jìn)行深入的學(xué)習(xí)還需參考相關(guān)書籍,但這并不意味著本書在設(shè)計(jì)內(nèi)涵的完整性和深刻性方面打了折扣。秉承第1版的一貫風(fēng)格,本書第2版仍然采用圖的方式來展現(xiàn)設(shè)計(jì)的深刻內(nèi)涵。
(3) Java語言面向?qū)ο笤O(shè)計(jì)學(xué)習(xí)的深入性: 語言具有規(guī)則學(xué)習(xí)和規(guī)則運(yùn)用兩個(gè)層次,規(guī)則學(xué)習(xí)主要表現(xiàn)在本書的第1章~第16章,而規(guī)則運(yùn)用則表現(xiàn)在第17章~第20章,F(xiàn)在多數(shù)Java程序設(shè)計(jì)教材都停留在規(guī)則學(xué)習(xí)階段,對(duì)運(yùn)用鮮有提及。因而選用本書作為有限學(xué)時(shí)的Java語言教學(xué)時(shí),可留給教師和學(xué)生進(jìn)一步的應(yīng)用發(fā)展空間,而選用本書講授軟件設(shè)計(jì)時(shí),前16章的Java語言部分以及后4章的設(shè)計(jì)案例又可作為堅(jiān)實(shí)的支撐材料——將設(shè)計(jì)與實(shí)際編程緊密結(jié)合是本書編撰始終堅(jiān)持的一個(gè)重要原則。同時(shí)照顧到一些學(xué)校先學(xué)C++后學(xué)Java的教學(xué)安排,書中在許多關(guān)鍵之處將Java和C++進(jìn)行了對(duì)比,以防止兩種語言差異性引起的混淆。
本書第2版得到多人的幫助才得以完成。長(zhǎng)安大學(xué)安毅生老師負(fù)責(zé)了本書第8章~第14章的編撰工作,張少博老師指出了本書第1版中存在的一些不當(dāng)和錯(cuò)誤之處。另外,趙祥模老師、葛瑋老師以及清華大學(xué)出版社的編輯給予了一如既往的支持,提出了許多寶貴意見,在此一并表示感謝。
編者
2012年3月于西安
第1章 初次接觸Java
1.1 Java語言——網(wǎng)絡(luò)時(shí)代的編程語言
1.1.1 網(wǎng)絡(luò)時(shí)代編程問題
1.1.2 問題的解決方法
1.2 Java語言的特點(diǎn)
1.3 Java程序的編譯環(huán)境和執(zhí)行環(huán)境
1.4 第一個(gè)Java程序——Hello World
1.5 Java程序的分類
1.6 Java平臺(tái)
小結(jié)
習(xí)題
第2章 Java語言基礎(chǔ)
2.1 數(shù)據(jù)類型
2.1.1 標(biāo)識(shí)符和保留字
2.1.2 數(shù)據(jù)類型概括
2.1.3 基本數(shù)據(jù)類型簡(jiǎn)介
2.1.4 數(shù)據(jù)類型轉(zhuǎn)換
2.1.5 基本數(shù)據(jù)類型及其對(duì)應(yīng)的包裝類
2.2 表達(dá)式
2.2.1 算術(shù)表達(dá)式
2.2.2 關(guān)系表達(dá)式
2.2.3 邏輯表達(dá)式
2.2.4 賦值表達(dá)式
2.2.5 條件表達(dá)式
2.2.6 運(yùn)算符優(yōu)先級(jí)
2.3 控制語句
2.3.1 分支語句
2.3.2 循環(huán)語句
2.3.3 跳轉(zhuǎn)語句
2.4 數(shù)組
2.4.1 一維數(shù)組
2.4.2 二維數(shù)組
小結(jié)
習(xí)題
第3章 Java程序工程規(guī)范
3.1 為什么要有規(guī)范
3.2 Java程序編程規(guī)范
3.3 幫助文檔的自動(dòng)生成
小結(jié)
習(xí)題
第4章 面向?qū)ο螅ㄉ希?br>4.1 抽象的含義
4.2 類與對(duì)象
4.3 類的域(屬性)與方法(操作)
4.4 對(duì)象
4.4.1 對(duì)象的創(chuàng)建
4.4.2 對(duì)象作為參數(shù)的特點(diǎn)
4.4.3 對(duì)象數(shù)組
4.4.4 數(shù)組對(duì)象特點(diǎn)及常用方法
4.5 構(gòu)造方法
4.5.1 構(gòu)造方法的概念
4.5.2 構(gòu)造方法的特征
4.5.3 構(gòu)造方法賦值的注意事項(xiàng)
4.5.4 finalize方法與垃圾回收
4.6 類成員屬性和方法的非訪問修飾符
4.6.1 static
4.6.2 abstract
4.6.3 fina1
4.6.4 native修飾的本地方法
4.7 包
小結(jié)
習(xí)題
……
第5章 面向?qū)ο螅ㄖ校?br>第6章 面向?qū)ο螅ㄏ拢?br>第7章 異常
第8章 Java常用類庫(kù)與工具
第9章 線程
第10章 集合類
第11章 Applet程序
第12章 AWT圖形用戶界面
第13章 Swing圖形用戶界面
第14章 I/O輸入/輸出
第15章 Hava網(wǎng)絡(luò)通信
第16章 JDBC
第17章 UML簡(jiǎn)介
第18章 設(shè)計(jì)模式
第19章 軟件框架
第20章 軟件體系結(jié)構(gòu)與分布式對(duì)象技術(shù)