內容簡介
本書結合實例介紹了如何使用Java開發面向對象套用軟體,重點介紹三層套用軟體的開發方法及相關技術。全書共19章,分為5部分,主要內容包括面向寒驗殃幾對象相關的概念、面向對象及構件開發方法、基於UML的系統分析與設計、業務邏輯層開發、界面層開發、數據層開發、構件設計與開發、多執行緒與Web套用軟體開發等。
本書的重點不是介紹Java的基礎語法和類庫,而是培養讀者的系統開發能力,因此需要讀者具有一定的編程基礎,但並不特彆強調讀者具有Java編程的經驗。本書在內容安排上由淺入深,不具備Java編程經驗的讀者也可以從頭開始學習。本書適合軟體工程專業的在促喇重校學生學習,以增強軟體開發能力幾敬判籃和經驗,為軟體工程課程的獄臘店學習打下良好的基礎。本書也適合其他計算機相關專業的學生更深入地學習Java開發技術。
圖書目錄
第1部分Java套用系統開發基礎
第1章面向對象系統開發概述
1.1軟體生命周期
1.1.1需求獲取與分析
1.1.2軟體設計
1.1.3實現
1.1.4集成和部署
1.1.5運行和維護
1.2軟體開發方法
1.2.1傳統開發方法
1.2.2面向對象開發方法
1.2.3基於構件的開發方法
1.3面向對象及構件開發中的基本概念
1.3.1面向對象
1.3.2類與對象
1.3.3訊息通信與對象互動
1.3.4封裝與信息隱藏
1.3.5服務與接口
1.3.6繼承與多態
1.3.7構件
1.3.8包
本章小結
習題
第2章Java程式的運行與開發環境
2.1Java程式的運行環境
2.2Java程式的編輯、編譯及運行
2.3Java平台體系
2.4集獄腿歸成開發環境簡介
2.5Eclipse安裝與環境介紹
2.5.1Eclipse的體系結構
2.5.2Eclipse在Windows下的安裝
2.5.3Eclipse工作檯
2.6Eclipse環境下的項目開發過程
2.6.1新建Java項目
2.6.2創建Java程式
2.6.3代碼輸入支持功能
2.6.4執行Java程式
本章小結
習題
第3章Java使用初步
3.1Java應用程式的組成元素
3.2基本數據類型與表達式
3.2.1基本數據類型
3.2.2變數與常量
3.2.3表達式
3.2.4類型轉換
3.3控制流程語句
3.3.1選擇結構
3.3.2循環結構
3.4Java標準類實例
3.4.1Math類
3.4.2String類
3.4.3System類
3.4.4包裹類
3.4.5JOptionPane類
3.4.6Date類和SimpleDateFormat類
本章小結
習題
第4章自定義類
4.1類的聲明與使用
4.1.1類的聲明
4.1.2對象的盛剃夜創建與引用
4.2屬性成員
4.2.1屬性成員聲明
4.2.2實例屬性與類屬性
4.3方法成員
4.3.1方法成員聲明
4.3.2實例方法與類方法
4.3.3帶參數的方法
4.3.4構造方法
4.4其他常用方法
4.4.1toString()方法
4.4.2equals()方法
4.5內部類
4.6將類組織成包
4.7使用Javadoc命令生成類文檔
本章小結
習題
第5章數組及其套用
5.1數組的概念
5.2對象數組
5.2.1用數組存儲對象
5.2.2在方法中返回對象
5.2.3在方法中返回對象數組
5.3二維數組
5.4數組的套用
5.4.1查找
5.4.2增加及刪除元素
5.4.3排序
5.4.4在已排序的數組中查找
本章小結
習題
第2部分基於UML的系統分析與設計
第6章基於UML的系統分析
6.1統一建模語言UML
6.1.1UML的產生和發展
6.1.2UML的特點
6.2UML模型簡介
6.2.1用例圖
6.2.2類圖
6.2.3順序圖
6.2.4通信圖
6.2.5狀態圖
6.2.6構件圖蘭辯
6.2.7部署圖
6.3實例研究
6.3.1校內書店管理系統業務簡介
6.3.2用例建模
6.3.3對象建模
6.3.4動態建模
本章小結
習題
第7章面向對象設計
7.1軟體體系結構及其風格
7.1.1軟體體系結構的概念
7.1.2經典的體系結構風格
7.1.3C/S與B/S體系結構風格
7.1.4分散式對象體系結構風格
7.2子系統分解
7.2.1水平方向的分解
7.2.2垂直方向的分解
7.3問題域設計
7.3.1對分析類圖進行調整與細化
7.3.2將對象分組歸入子系統
7.3.3增加控制類
7.4界面層設計
7.4.1界面設計方法和原則
7.4.2書店管理系統界面設計方案
7.5數據層設計
7.5.1資料庫設計
7.5.2數據訪問類設計
本章小結
習題
第3部分業務邏輯層開發
第8章編寫問題域類
8.1定義問題域類
8.1.1定義並測試Book類
8.1.2定義並測試BookStore類
8.1.3使用靜態變數和靜態方法
8.1.4編寫自定義方法
8.1.5格式化輸出
8.1.6重載方法
8.2實現關聯關係
8.2.1校內書店管理系統中的關聯關係
8.2.2實現BookStore與Bookshelf之間的關聯關係
8.3異常及其處理
8.3.1異常的概念
8.3.2異常處理
8.3.3生成異常對象
8.3.4telephone的數據驗證
本章小結
習題
第9章繼承與多態
9.1類的繼承
9.1.1私有屬性和方法的繼承
9.1.2隱藏和覆蓋
9.1.3有繼承時的構造方法
9.2Object類
9.3定義Customer類及其子類
9.3.1定義Customer類並測試
9.3.2定義Customer類的子類並測試
9.4重寫超類方法
9.4.1添加和重寫toString()方法
9.4.2重寫和調用超類方法
9.5塑型與多態
9.5.1塑型
9.5.2多態
本章小結
習題
第10章抽象類與終結類
10.1抽象類與抽象方法
10.1.1抽象類的定義
10.1.2抽象方法
10.2終結類與終結方法
10.2.1終結類
10.2.2終結方法
10.3定義Lease類及其子類
10.3.1定義初始的Lease類
10.3.2處理日期
10.3.3向Lease類中添加抽象方法
10.3.4定義Lease的子類BookLease
10.3.5定義Lease的子類DailyLease
10.3.6測試BookLease類和DailyLease類
10.4聲明及使用自定義異常
10.4.1定義DateInputException類
10.4.2拋出自定義異常
10.4.3創建多個日租約對象
本章小結
習題
第11章接口及其套用
11.1接口
11.1.1接口的概念
11.1.2定義接口
11.1.3實現接口
11.1.4接口與抽象類的區別
11.2Java集合框架
11.2.1列表的定義與創建
11.2.2列表的標準方法
11.2.3Enumeration及Iterator類
11.2.4泛型及其套用
11.3面向接口編程
11.3.1面向接口編程的概念
11.3.2面向接口編程的優點
11.3.3分析抽象Bookshelf的接口IContainable
11.3.4使用IContainable接口
本章小結
習題
第12章構件及其套用
12.1構件的類型與特性
12.1.1構件的類型
12.1.2構件的特性
12.2構件模型
12.2.1構件模型的組成
12.2.2常見的構件模型
12.3構件設計
12.3.1構件設計原則
12.3.2構件設計的主要任務
12.3.3校內書店管理系統中的可復用構件設計
12.4構件實現
12.4.1統計樣本接口實現
12.4.2統計構件的實現
12.4.3報表構件的實現
12.4.4綜合測試
12.4.5構件打包
本章小結
習題
第4部分界面層與數據層開發
第13章圖形用戶界面與事件處理
13.1Java的GUI類簡介
13.1.1AWT類簡介
13.1.2Swing類簡介
13.2Java事件處理
13.2.1基本概念
13.2.2委託事件處理機制簡介
13.2.3實現監聽器接口的方法
13.2.4擴充適配器類
13.2.5使用多個GUI組件
13.3布局管理器
13.3.1FlowLayout
13.3.2BorderLayout
13.3.3GridLayout
13.3.4GridBagLayout
13.3.5CardLayout
13.4Swing組件的使用
13.4.1標籤類
13.4.2滾動框
13.4.3選單
13.4.4工具列
13.4.5按鈕類
13.4.6組合框
13.4.7文本
13.4.8二維表
本章小結
習題
第14章界面層開發
14.1編寫GUI類查找圖書
14.2實現圖書管理界面
14.3在單獨視窗中添加新圖書
14.3.1創建添加新圖書的操作界面
14.3.2套用單例模式
14.4添加顧客
本章小結
習題
第15章實現多個視窗之間的導航
15.1實現系統主界面
15.2導航多個視窗
15.2.1模仿圖書資料庫
15.2.2從系統主界面導航到圖書管理界面
15.2.3從圖書管理界面導航到圖書查詢界面
15.2.4從圖書管理界面導航到圖書增加界面
15.2.5從圖書增加界面返回到圖書管理界面
15.3實現租書管理子系統
15.3.1實現租書管理界面
15.3.2實現租書功能
15.3.3在租書管理界面中顯示顧客信息
15.3.4實現還書功能
本章小結
習題
第16章數據層開發
16.1對象持久性簡介
16.2設計數據存取類
16.3問題域類與數據存取類通信
16.4檔案的套用
16.4.1Java輸入/輸出流
16.4.2使用順序檔案實現持久性
16.4.3測試BookDA類
16.4.4使用隨機存取檔案實現持久性
16.4.5使用對象串列化實現持久性
16.5資料庫的套用
16.5.1建立ODBC數據源
16.5.2結構化查詢語言
16.5.3java.sql程式包
16.5.4使用資料庫實現持久性
本章小結
習題
第5部分多執行緒與Web應用程式開發
第17章多執行緒
17.1執行緒的概念
17.2執行緒的創建和啟動
17.2.1擴展java.lang.Thread類
17.2.2實現Runnable接口
17.3執行緒的生命周期及狀態
17.4執行緒的優先權及調度
17.5多執行緒的互斥與同步
17.5.1執行緒的同步
17.5.2執行緒通信
17.5.3死鎖問題
17.6後台執行緒與定時器
本章小結
習題
第18章Web應用程式開發基礎
18.1網路通信技術
18.1.1網路通信協定
18.1.2Java的網路功能
18.1.3Java EE通信技術
18.2Web客戶端開發技術
18.2.1HTML簡介
18.2.2JavaScript技術
18.2.3Java Applet技術
18.3Tomcat套用伺服器安裝與配置
18.3.1在Windows上安裝Tomcat
18.3.2Tomcat伺服器的配置與使用
18.4Servlet技術
18.4.1Servlet的基本結構
18.4.2Servlet的生命周期
18.4.3Servlet的創建、編譯及運行
18.5JSP技術
18.5.1JSP的基本運行原理
18.5.2JSP的指令與基本語法
18.5.3JSP的內置對象
18.5.4JSP動作
18.5.5JSP程式的創建及運行
本章小結
習題
第19章Java Web應用程式開發
19.1基於Java技術的B/S架構
19.2Java Web集成開發環境的配置
19.2.1配置Eclipse開發環境
19.2.2安裝Tomcat外掛程式
19.3Web項目的創建與配置
19.3.1hello項目的創建
19.3.2編譯及運行環境的配置
19.3.3新建JSP頁面
19.3.4運行Web項目
19.4基於Web實現圖書管理功能
19.4.1模型層
19.4.2控制層
19.4.3表現層
19.4.4查看運行結果
19.5Web應用程式的發布
本章小結
習題
附錄A網上顧客查詢子系統
A.1網上顧客查詢子系統簡介
A.2模型層
A.2.1創建實體類
A.2.2創建數據訪問類
A.3控制層
A.4表現層
A.5運行效果
參考文獻
3.4.4包裹類
3.4.5JOptionPane類
3.4.6Date類和SimpleDateFormat類
本章小結
習題
第4章自定義類
4.1類的聲明與使用
4.1.1類的聲明
4.1.2對象的創建與引用
4.2屬性成員
4.2.1屬性成員聲明
4.2.2實例屬性與類屬性
4.3方法成員
4.3.1方法成員聲明
4.3.2實例方法與類方法
4.3.3帶參數的方法
4.3.4構造方法
4.4其他常用方法
4.4.1toString()方法
4.4.2equals()方法
4.5內部類
4.6將類組織成包
4.7使用Javadoc命令生成類文檔
本章小結
習題
第5章數組及其套用
5.1數組的概念
5.2對象數組
5.2.1用數組存儲對象
5.2.2在方法中返回對象
5.2.3在方法中返回對象數組
5.3二維數組
5.4數組的套用
5.4.1查找
5.4.2增加及刪除元素
5.4.3排序
5.4.4在已排序的數組中查找
本章小結
習題
第2部分基於UML的系統分析與設計
第6章基於UML的系統分析
6.1統一建模語言UML
6.1.1UML的產生和發展
6.1.2UML的特點
6.2UML模型簡介
6.2.1用例圖
6.2.2類圖
6.2.3順序圖
6.2.4通信圖
6.2.5狀態圖
6.2.6構件圖
6.2.7部署圖
6.3實例研究
6.3.1校內書店管理系統業務簡介
6.3.2用例建模
6.3.3對象建模
6.3.4動態建模
本章小結
習題
第7章面向對象設計
7.1軟體體系結構及其風格
7.1.1軟體體系結構的概念
7.1.2經典的體系結構風格
7.1.3C/S與B/S體系結構風格
7.1.4分散式對象體系結構風格
7.2子系統分解
7.2.1水平方向的分解
7.2.2垂直方向的分解
7.3問題域設計
7.3.1對分析類圖進行調整與細化
7.3.2將對象分組歸入子系統
7.3.3增加控制類
7.4界面層設計
7.4.1界面設計方法和原則
7.4.2書店管理系統界面設計方案
7.5數據層設計
7.5.1資料庫設計
7.5.2數據訪問類設計
本章小結
習題
第3部分業務邏輯層開發
第8章編寫問題域類
8.1定義問題域類
8.1.1定義並測試Book類
8.1.2定義並測試BookStore類
8.1.3使用靜態變數和靜態方法
8.1.4編寫自定義方法
8.1.5格式化輸出
8.1.6重載方法
8.2實現關聯關係
8.2.1校內書店管理系統中的關聯關係
8.2.2實現BookStore與Bookshelf之間的關聯關係
8.3異常及其處理
8.3.1異常的概念
8.3.2異常處理
8.3.3生成異常對象
8.3.4telephone的數據驗證
本章小結
習題
第9章繼承與多態
9.1類的繼承
9.1.1私有屬性和方法的繼承
9.1.2隱藏和覆蓋
9.1.3有繼承時的構造方法
9.2Object類
9.3定義Customer類及其子類
9.3.1定義Customer類並測試
9.3.2定義Customer類的子類並測試
9.4重寫超類方法
9.4.1添加和重寫toString()方法
9.4.2重寫和調用超類方法
9.5塑型與多態
9.5.1塑型
9.5.2多態
本章小結
習題
第10章抽象類與終結類
10.1抽象類與抽象方法
10.1.1抽象類的定義
10.1.2抽象方法
10.2終結類與終結方法
10.2.1終結類
10.2.2終結方法
10.3定義Lease類及其子類
10.3.1定義初始的Lease類
10.3.2處理日期
10.3.3向Lease類中添加抽象方法
10.3.4定義Lease的子類BookLease
10.3.5定義Lease的子類DailyLease
10.3.6測試BookLease類和DailyLease類
10.4聲明及使用自定義異常
10.4.1定義DateInputException類
10.4.2拋出自定義異常
10.4.3創建多個日租約對象
本章小結
習題
第11章接口及其套用
11.1接口
11.1.1接口的概念
11.1.2定義接口
11.1.3實現接口
11.1.4接口與抽象類的區別
11.2Java集合框架
11.2.1列表的定義與創建
11.2.2列表的標準方法
11.2.3Enumeration及Iterator類
11.2.4泛型及其套用
11.3面向接口編程
11.3.1面向接口編程的概念
11.3.2面向接口編程的優點
11.3.3分析抽象Bookshelf的接口IContainable
11.3.4使用IContainable接口
本章小結
習題
第12章構件及其套用
12.1構件的類型與特性
12.1.1構件的類型
12.1.2構件的特性
12.2構件模型
12.2.1構件模型的組成
12.2.2常見的構件模型
12.3構件設計
12.3.1構件設計原則
12.3.2構件設計的主要任務
12.3.3校內書店管理系統中的可復用構件設計
12.4構件實現
12.4.1統計樣本接口實現
12.4.2統計構件的實現
12.4.3報表構件的實現
12.4.4綜合測試
12.4.5構件打包
本章小結
習題
第4部分界面層與數據層開發
第13章圖形用戶界面與事件處理
13.1Java的GUI類簡介
13.1.1AWT類簡介
13.1.2Swing類簡介
13.2Java事件處理
13.2.1基本概念
13.2.2委託事件處理機制簡介
13.2.3實現監聽器接口的方法
13.2.4擴充適配器類
13.2.5使用多個GUI組件
13.3布局管理器
13.3.1FlowLayout
13.3.2BorderLayout
13.3.3GridLayout
13.3.4GridBagLayout
13.3.5CardLayout
13.4Swing組件的使用
13.4.1標籤類
13.4.2滾動框
13.4.3選單
13.4.4工具列
13.4.5按鈕類
13.4.6組合框
13.4.7文本
13.4.8二維表
本章小結
習題
第14章界面層開發
14.1編寫GUI類查找圖書
14.2實現圖書管理界面
14.3在單獨視窗中添加新圖書
14.3.1創建添加新圖書的操作界面
14.3.2套用單例模式
14.4添加顧客
本章小結
習題
第15章實現多個視窗之間的導航
15.1實現系統主界面
15.2導航多個視窗
15.2.1模仿圖書資料庫
15.2.2從系統主界面導航到圖書管理界面
15.2.3從圖書管理界面導航到圖書查詢界面
15.2.4從圖書管理界面導航到圖書增加界面
15.2.5從圖書增加界面返回到圖書管理界面
15.3實現租書管理子系統
15.3.1實現租書管理界面
15.3.2實現租書功能
15.3.3在租書管理界面中顯示顧客信息
15.3.4實現還書功能
本章小結
習題
第16章數據層開發
16.1對象持久性簡介
16.2設計數據存取類
16.3問題域類與數據存取類通信
16.4檔案的套用
16.4.1Java輸入/輸出流
16.4.2使用順序檔案實現持久性
16.4.3測試BookDA類
16.4.4使用隨機存取檔案實現持久性
16.4.5使用對象串列化實現持久性
16.5資料庫的套用
16.5.1建立ODBC數據源
16.5.2結構化查詢語言
16.5.3java.sql程式包
16.5.4使用資料庫實現持久性
本章小結
習題
第5部分多執行緒與Web應用程式開發
第17章多執行緒
17.1執行緒的概念
17.2執行緒的創建和啟動
17.2.1擴展java.lang.Thread類
17.2.2實現Runnable接口
17.3執行緒的生命周期及狀態
17.4執行緒的優先權及調度
17.5多執行緒的互斥與同步
17.5.1執行緒的同步
17.5.2執行緒通信
17.5.3死鎖問題
17.6後台執行緒與定時器
本章小結
習題
第18章Web應用程式開發基礎
18.1網路通信技術
18.1.1網路通信協定
18.1.2Java的網路功能
18.1.3Java EE通信技術
18.2Web客戶端開發技術
18.2.1HTML簡介
18.2.2JavaScript技術
18.2.3Java Applet技術
18.3Tomcat套用伺服器安裝與配置
18.3.1在Windows上安裝Tomcat
18.3.2Tomcat伺服器的配置與使用
18.4Servlet技術
18.4.1Servlet的基本結構
18.4.2Servlet的生命周期
18.4.3Servlet的創建、編譯及運行
18.5JSP技術
18.5.1JSP的基本運行原理
18.5.2JSP的指令與基本語法
18.5.3JSP的內置對象
18.5.4JSP動作
18.5.5JSP程式的創建及運行
本章小結
習題
第19章Java Web應用程式開發
19.1基於Java技術的B/S架構
19.2Java Web集成開發環境的配置
19.2.1配置Eclipse開發環境
19.2.2安裝Tomcat外掛程式
19.3Web項目的創建與配置
19.3.1hello項目的創建