Java面向對象程序設計(第2版·微課視頻版)

劉暢、彭濤、孫連英

  • Java面向對象程序設計(第2版·微課視頻版)-preview-1
  • Java面向對象程序設計(第2版·微課視頻版)-preview-2
  • Java面向對象程序設計(第2版·微課視頻版)-preview-3
  • Java面向對象程序設計(第2版·微課視頻版)-preview-4
  • Java面向對象程序設計(第2版·微課視頻版)-preview-5
  • Java面向對象程序設計(第2版·微課視頻版)-preview-6
  • Java面向對象程序設計(第2版·微課視頻版)-preview-7
Java面向對象程序設計(第2版·微課視頻版)-preview-1

商品描述

Java面向對象程序設計(第2版·微課視頻版)基於Java語言介紹面向對象程序設計理念,引入UML工具解釋設計過程。采用問答式結構組織內容,應用豐富的案例闡述面向對象程序設計的基本理論和方法,詳細介紹面向對象的基本特性、基本技術,知識點與應用實例相結合。全書分為三部分:第一部分,程序設計基礎,介紹Java的編程基礎;第二部分,Java面向對象,介紹面向對象的封裝性、繼承性和多態性;第三部分,高級面向對象設計,介紹UI、多線程、網絡編程等內容。全書的三部分從簡單到復雜,階梯式遞進。讀者可以根據需要選讀。 本書介紹面向對象思想,突出理論聯系實際。讀者對象為高等院校軟件工程、計算機相關專業的本科學生,也可作為研究生的參考資料。

作者簡介

劉暢,北京聯合大學機器人學院教師,副教授,博士,46歲。曾獲北京聯合大學課程思政優秀教師;北京高校青年教師教學基本功比賽三等獎;北京聯合大學青年教師教學基本功比賽二等獎;北京聯合大學中青年教師執教能力比賽二等獎。所授面向對象程序設計課程評為校級精品課程。出版《Java面向對象程序設計》、《面向對象程序設計實例教程》、《數據庫開發技術標準教程》、《人工智能概論》等多部教材。

目錄大綱

目錄

第一篇編 程 基 礎

第1章概述/3

1.1面向對象程序設計的概念/3

1.2面向過程與面向對象的區別/4

1.3面向對象的基本特征/4

1.4面向對象的編程語言/6

1.5Java語言的特點/6

1.6配置Java開發環境/8

1.7第一個Java程序/11

1.8標準輸入輸出處理/16

1.8.1標準輸入流/16

1.8.2通過Scanner類實現輸入輸出/18

1.9綜合案例: 商品錄入/19

習題1/21

編程練習/22

第2章編程基礎/23

2.1標識符/23

2.2數據類型/24

2.2.1基本數據類型/24

2.2.2類型轉換/26

2.3變量/27

2.4常量/28

2.5運算符和表達式/282.5.1基本賦值運算/29

2.5.2算術運算/29

2.5.3關系運算/31

2.5.4布爾運算/32

2.5.5位運算/32

2.5.6條件運算/33

2.5.7復合賦值運算符/33

2.6字符串/33

2.7if語句/35

2.7.1if語句的三種形式/35

2.7.2使用if分段顯示/37

2.8switch語句/38

2.8.1使用switch語句分段顯示/38

2.8.2switch語句詳解/38

2.9for循環/39

2.9.1for循環語法/39

2.9.2求和運算示例/40

2.10while循環/41

2.10.1while循環語句/41

2.10.2while循環實現輸入控制/41

2.11do...while循環/41

2.11.1do...while語句/41

2.11.2do...while實現退出操作/42

2.12break與continue語句/42

2.12.1break語句/42

2.12.2continue語句/43

2.13綜合案例: 購物程序/43

2.13.1問題分析與程序設計/44

2.13.2程序實現/44

習題2/46

編程練習/47

第3章方法/49

3.1方法的概念/49

3.2如何定義方法/49

3.3方法調用/50

3.4設計有參數和返回值的方法/51

3.5方法應用/53

3.5.1單個參數的方法/54

3.5.2多個參數的方法/54

3.5.3遞歸方法/56

3.5.4多個返回值的方法/57

3.6方法重載/58

3.7變量的作用域/58

3.8綜合案例: 驗證碼生成/59

習題3/60

編程練習/61

第4章數組/63

4.1數組的概念/63

4.2創建數組/63

4.3初始化一維數組/65

4.3.1靜態初始化/65

4.3.2動態初始化/65

4.3.3創建數組示例/66

4.4數組名的使用/67

4.5數組作為方法的參數和返回值/69

4.5.1數組作為方法的參數/69

4.5.2數組作為返回值/70

4.6增強的for循環/71

4.7多維數組/71

4.7.1二維數組的定義/72

4.7.2初始化二維數組/72

4.8綜合案例: 抽取幸運觀眾/73

習題4/75

編程練習/76

第二篇Java面向對象

第5章類和對象/81

5.1類/81

5.2對象/81

5.3類和對象的關系/82

5.4類的設計/82

5.5類的定義/83

5.5.1汽車類示例/83

5.5.2定義類/83

5.6創建和使用對象/85

5.6.1創建對象/85

5.6.2使用對象/86

5.7成員變量與局部變量/86

5.8構造方法/87

5.9創建構造方法/87

5.10方法重載/88

5.10.1普通方法重載/89

5.10.2構造方法重載/89

5.11this關鍵字/92

5.11.1this表示類的成員/92

5.11.2this調用構造方法/93

5.11.3this表示當前對象/94

5.12static修飾符/94

5.12.1靜態變量/95

5.12.2靜態方法/97

5.12.3main()方法詳解/98

5.12.4靜態成員的特點/99

5.13String類/99

5.14綜合案例: 銀行賬戶類/102

5.15聚集類案例: 銀行類/104

5.15.1聚集類示例/104

5.15.2銀行操作的主界面/107

5.16內部類/111

5.16.1類中定義的內部類/111

5.16.2內部類被外部引用/113

5.16.3方法中定義的內部類/113

習題5/114

編程練習/114

第6章封裝/117

6.1類的封裝/117

6.2包的封裝/118

6.2.1package語句/119

6.2.2import語句/120

6.2.3Calendar與DateFormat類/121

6.3類成員的封裝/122

6.3.1包訪問權限/122

6.3.2public: 接口訪問權限/123

6.3.3private: 類內部訪問權限/123

6.3.4protected: 繼承訪問權限/123

6.4類的訪問權限/124

6.5綜合案例: 購書系統/124

習題6/128

編程練習/129

第7章繼承/130

7.1繼承的概念/130

7.2繼承關系的定義/130

7.3繼承對類的影響/131

7.4方法重寫/135

7.5super關鍵字/138

7.5.1使用super訪問父類的成員/138

7.5.2使用super調用父類的構造方法/139

7.5.3構造子類的對象/140

7.5.4super與this關鍵字/140

7.6抽象類/141

7.6.1抽象類的設計/141

7.6.2抽象類示例/142

7.6.3抽象類的子類/143

7.7final修飾符/145

7.7.1final修飾變量/145

7.7.2final修飾方法/145

7.7.3final修飾類/146

7.8Object類/146

7.8.1toString()方法/146

7.8.2equals()方法/147

7.9類的關系/148

7.9.1繼承關系/148

7.9.2依賴關系/148

7.9.3關聯關系/149

7.9.4聚合關系/149

7.9.5組合關系/150

7.10綜合案例: 組裝計算機/151

習題7/153

編程練習/153

第8章多態/155

8.1多態的定義/155

8.2父類引用子類對象/155

8.3方法綁定/156

8.4動態綁定/156

8.5對象的多態性/157

8.5.1向上轉型/158

8.5.2向下轉型/159

8.5.3instanceof運算符/159

8.6接口/160

8.6.1定義接口/160

8.6.2接口示例/160

8.7抽象類和接口的選擇/162

8.8綜合案例/162

8.8.1USB接口案例/162

8.8.2隨機選筆案例/164

習題8/167

編程練習/169

第三篇高級面向對象設計

第9章圖形用戶界面設計/173

9.1Swing 和AWT/173

9.1.1AWT組件/173

9.1.2Swing組件/173

9.1.3容器類組件/174

9.2創建一個基本GUI程序/174

9.2.1使用JFrame類創建一個框架/174

9.2.2在框架中添加組件/175

9.2.3設置界面布局/177

9.2.4事件處理/182

9.3常用的事件和監聽器接口/184

9.3.1事件/184

9.3.2Window事件處理/185

9.3.3鍵盤事件處理/188

9.3.4鼠標事件處理/189

9.4菜單/190

9.4.1菜單設計/190

9.4.2菜單項事件處理/192

9.4.3綜合案例: 菜單/192

習題9/195

編程練習/196

第10章異常處理/197

10.1Java異常處理/197

10.2Exception類/198

10.3如何處理異常/198

10.3.1使用throws拋出異常/199

10.3.2使用try…catch…finally處理異常/199

10.3.3catch塊的順序/201

10.4綜合案例: 自定義異常/202

習題10/204

編程練習/205

第11章集合類/206

11.1集合類的基本概念/206

11.2集合類之間的關系/206

11.3泛型/208

11.4List應用/208

11.4.1LinkedList類/208

11.4.2ArrayList類/208

11.4.3Vector類/209

11.4.4Stack類/209

11.5Set應用/210

11.5.1Set接口的常用方法/210

11.5.2Set接口示例/211

11.6Map應用/212

11.6.1Map的常用方法/212

11.6.2HashMap管理網絡名和密碼/212

11.7書籍管理案例/214

習題11/217

編程練習/218

第12章輸入輸出流及文件處理/219

12.1輸入輸出流/219

12.2字節流/220

12.2.1InputStream類的常用方法/220

12.2.2OutputStream類的常用方法/221

12.2.3文件數據流/221

12.2.4將輸入信息保存到文件/222

12.2.5讀取並顯示文件/223

12.3字符流/224

12.3.1InputStreamReader和OutputStreamWriter/225

12.3.2字符流案例/226

12.4文件處理/227

12.4.1文件的基本操作/227

12.4.2文件的隨機讀寫/228

12.5對象序列化/229

12.5.1存儲對象/230

12.5.2Car對象的序列化/230

12.5.3存儲和讀取序列化對象的信息/231

12.6正則表達式/232

12.6.1正則表達式的基本概念/232

12.6.2正則表達式案例/234

習題12/238

編程練習/239

第13章多線程/241

13.1進程與線程/241

13.2並行與並發/241

13.3多線程的定義/241

13.4創建多線程/242

13.4.1繼承Thread類/242

13.4.2實現Runnable接口/243

13.5線程的生命周期/244

13.6線程的調度/244

13.7線程同步/247

13.7.1資源共享/247

13.7.2線程同步/248

13.7.3等待與通知/250

13.7.4死鎖/252

13.8綜合案例: 派發快遞/253

習題13/255

編程練習/256

第14章網絡編程/257

14.1Java網絡編程基礎/257

14.1.1IP地址/257

14.1.2端口號/257

14.2InetAddress類/258

14.3使用URL類訪問網絡資源/259

14.4Socket套接字編程/262

14.4.1使用TCP通信/262

14.4.2使用UDP通信/264

14.5綜合案例: 上傳文件/265

習題14/268

編程練習/269

第15章圖書銷售系統綜合案例/270

15.1案例設計/270

15.2圖書類/271

15.3權限管理/273

15.4業務類/277

15.5管理類/281

15.6測試類/282

附錄課後習題答案/287

參考文獻/293