Java面向對象程序設計(第3版)

陳旭東

  • 出版商: 清華大學
  • 出版日期: 2025-11-01
  • 售價: $354
  • 語言: 簡體中文
  • ISBN: 7512156936
  • ISBN-13: 9787512156937
  • 相關分類: Java 程式語言
  • 下單後立即進貨 (約4週~6週)

  • Java面向對象程序設計(第3版)-preview-1
  • Java面向對象程序設計(第3版)-preview-2
  • Java面向對象程序設計(第3版)-preview-3
Java面向對象程序設計(第3版)-preview-1

商品描述

本書以面向對象分析與設計思想為核心,講述Java面向對象程序設計的主要技術。本書以**版本Java SE為基礎,全面介紹Java語言基礎知識、面向對象編程技術、UML、異常、斷言與日誌、輸入輸出、泛型、集合框架、Lambda表達式、多線程、圖形用戶界面、網絡編程、使用第三方類庫等內容。各章提供經過調試運行的實例,並在相關章節中附有配套練習題。

目錄大綱

目    錄

第1章  Java語言基礎 1

1.1  Java語言簡介 1

1.1.1  Java發展 1

1.1.2  Java平臺 2

1.1.3  Java開發環境 2

1.2  簡單的Java程序 4

1.2.1  編輯Java源文件 4

1.2.2  編譯源程序 4

1.2.3  運行Java應用程序 5

1.2.4  程序分析 5

1.3  關鍵字與標識符 8

1.3.1  關鍵字 8

1.3.2  標識符 8

1.4  數據類型 9

1.4.1  整數類型 10

1.4.2  浮點類型 10

1.4.3  字符類型 10

1.4.4  布爾類型 11

1.5  變量聲明與賦值 11

1.6  運算符與表達式 12

1.6.1  算術運算 12

1.6.2  關系運算 12

1.6.3  布爾運算 13

1.6.4  位運算 13

1.6.5  其他運算 14

1.6.6  運算符的優先級與結合性 15

1.6.7  類型轉換 15

1.6.8  表達式 16

1.7  枚舉類型 17

1.8  流程控制 17

1.8.1  if語句 17

1.8.2  switch語句 18

1.8.3  while語句 20

1.8.4  do…while語句 20

1.8.5  for語句 20

1.8.6  流程轉移語句 22

習題 23

第2章  類和對象 25

2.1  面向對象的軟件開發過程 25

2.2  類和對象的基本概念 25

2.3  類的定義 26

2.3.1  定義類 26

2.3.2  屬性 27

2.3.3  構造方法 28

2.3.4  方法 28

2.4  對象的使用 31

2.4.1  創建對象 31

2.4.2  使用對象 31

2.5  封裝 33

2.5.1  封裝與信息隱藏 33

2.5.2  Getter和Setter方法 33

2.6  方法重載 34

2.7  this關鍵字 36

2.7.1  使用當前對象 36

2.7.2  調用構造方法 37

2.8  類成員和實例成員 38

2.8.1  類屬性和實例屬性 38

2.8.2  類方法和實例方法 38

2.8.3  類屬性和實例屬性的初始化 40

2.9  包和模塊 41

2.9.1  包 42

2.9.2  模塊 43

2.10  嵌套類 44

2.10.1  靜態嵌套類 44

2.10.2  內部類 45

2.10.3  局部類 47

習題 49

第3章  繼承和多態 50

3.1  類的繼承 50

3.1.1  繼承概念 50

3.1.2  繼承實現 50

3.1.3  方法覆蓋 51

3.1.4  super關鍵字 52

3.1.5  類型轉換 55

3.1.6  java.lang.Object類 57

3.1.7  final關鍵字 61

3.2  訪問控制 62

3.2.1  私有訪問權限 63

3.2.2  包訪問權限 63

3.2.3  子類訪問權限 64

3.2.4  公共訪問權限 65

3.3  抽象類與接口 65

3.3.1  抽象類 66

3.3.2  接口定義 67

3.3.3  接口實現 68

3.3.4  使用接口類型 69

3.4  多態 70

3.4.1  繼承與多態 71

3.4.2  接口與多態 72

3.4.3  多態的優點 73

3.5  設計模式 74

3.5.1  單例模式 74

3.5.2  策略模式 75

習題 77

第4章  數組與字符串 79

4.1  數組 79

4.1.1  創建數組 79

4.1.2  訪問數組元素 80

4.1.3  數組初始化 81

4.1.4  數組參數與返回數組 82

4.2  數組的基本操作 84

4.2.1  數組復制 84

4.2.2  數組比較 86

4.2.3  數組排序 87

4.2.4  數組查找 91

4.3  多維數組 93

4.4  可變參數的方法 95

4.5  字符串 96

4.5.1  String 96

4.5.2  StringBuffer 和 StringBuilder 98

4.6  命令行參數 99

習題 100

第5章  泛型與集合框架 101

5.1  泛型 101

5.1.1  泛型類型 101

5.1.2  泛型方法 104

5.1.3  有界類型參數 105

5.1.4  泛型類型的繼承 107

5.1.5  通配符 108

5.1.6  類型擦除 112

5.2  集合框架簡介 115

5.2.1  集合接口 115

5.2.2  集合實現 117

5.2.3  集合算法 117

5.3  集合實現 118

5.3.1  ArrayList<E> 119

5.3.2  HashSet<E> 122

5.3.3  HashMap<K,V> 124

5.3.4  LinkedList<E> 126

5.4  集合算法 128

5.4.1  數據操作 129

5.4.2  排序 129

5.4.3  查找 130

習題 132

第6章  異常處理機制 133

6.1  異常 133

6.1.1  異常分類 133

6.1.2  常用標準異常類 134

6.2  異常處理 135

6.2.1  捕獲異常 135

6.2.2  方法聲明拋出異常 137

6.2.3  拋出異常 138

6.2.4  異常鏈 139

6.2.5  覆蓋拋出異常的方法 140

6.3  自定義異常 141

6.3.1  創建自定義異常類 142

6.3.2  使用自定義異常 142

6.4  日誌 143

6.4.1  日誌記錄器 143

6.4.2  使用全局日誌記錄器 144

6.4.3  使用自定義日誌記錄器 145

6.4.4  Java主流日誌工具 146

6.5  斷言 146

6.5.1  斷言編譯 147

6.5.2  打開與關閉斷言 147

6.5.3  斷言應用 148

習題 150

第7章  線程 151

7.1  線程的概念 151

7.2  線程的實現 151

7.2.1  繼承Thread類 152

7.2.2  實現Runnable接口 153

7.2.3  實現Callable<V>接口 155

7.2.4  使用Lambda表達式 156

7.2.5  線程的生命周期 157

7.3  線程的控制 158

7.3.1  暫停線程執行 158

7.3.2  等待線程結束 158

7.3.3  中斷線程執行 159

7.3.4  線程優先級 161

7.3.5  Daemon線程 161

7.4  多線程同步 162

7.4.1  原子操作 162

7.4.2  原子變量 163

7.4.3  基於對象鎖的線程同步 164

7.4.4  wait()和notify() 167

7.5  線程池 170

7.5.1  Callable和Future 170

7.5.2  Executor接口 171

7.5.3  線程池 171

7.6  死鎖問題 174

習題 174

第8章  輸入/輸出 176

8.1  流的概念 176

8.1.1  輸入流和輸出流 176

8.1.2  字節流和字符流 176

8.1.3  節點流和處理流 177

8.2  字節流 177

8.2.1  InputStream類 178

8.2.2  OutputStream類 178

8.2.3  字節流應用示例 179

8.3  字符流 181

8.3.1  Reader類 181

8.3.2  Writer類 182

8.3.3  字符流應用示例 182

8.4  命令行I/O 183

8.4.1  標準流 183

8.4.2  控制臺 184

8.5  格式化I/O 185

8.5.1  格式化輸入 185

8.5.2  格式化輸出 188

8.6  對象的序列化和反序列化 189

8.7  隨機訪問文件 192

8.8  文件NIO 195

8.8.1  Path接口 195

8.8.2  文件和目錄 198

8.8.3  文件和目錄操作 200

8.8.4  文件讀寫 201

8.8.5  文件和目錄屬性 203

8.8.6  目錄遍歷 204

習題 208

第9章  圖形用戶界面 210

9.1  Swing概述 210

9.2  Swing容器 210

9.2.1  頂層容器JFrame 211

9.2.2  頂層容器JDialog 212

9.2.3  通用容器JPanel 214

9.2.4  通用容器JScrollPane 215

9.2.5  通用容器JSplitPane 216

9.2.6  通用容器JToolBar 218

9.3  Swing組件 218

9.3.1  標簽 219

9.3.2  按鈕 220

9.3.3  復選框 221

9.3.4  單選按鈕 221

9.3.5  列表框 223

9.3.6  組合框 224

9.3.7  文本輸入 225

9.3.8  進度條 227

9.3.9  菜單 228

9.4  布局管理器 232

9.4.1  BorderLayout 232

9.4.2  FlowLayout 233

9.4.3  BoxLayout 234

9.4.4  GridLayout 235

9.4.5  CardLayout 236

9.4.6  GridBagLayout 238

9.5  事件處理 241

9.5.1  事件處理機制 241

9.5.2  事件適配器 243

9.5.3  內部監聽器 245

9.5.4  匿名監聽器 245

9.5.5  事件處理實例 247

9.6  多媒體 251

9.6.1  繪圖 252

9.6.2  基本圖形 252

9.6.3  顏色和字體 253

9.6.4  圖像 254

9.6.5  動畫 257

習題 259

第10章  網絡通信 260

10.1  網絡基本概念 260

10.1.1  TCP協議 260

10.1.2  UDP協議 261

10.1.3  IP地址和端口 261

10.2  Java網絡功能 262

10.2.1  網絡接口層 262

10.2.2  網絡層 263

10.2.3  傳輸層 265

10.2.4  應用層 266

10.3  基於TCP的網絡通信 266

10.3.1  TCP服務器 267

10.3.2  TCP客戶端 268

10.3.3  處理多客戶請求 271

10.4  基於UDP的網絡通信 274

10.4.1  UDP服務器 275

10.4.2  UDP客戶端 276

10.4.3  多播通信 278

10.5  使用URL 282

10.5.1  創建URL對象 283

10.5.2  解析URL 284

10.5.3  讀取URL資源內容 284

10.5.4  使用URL連接 285

10.5.5  與Servlet交互 287

習題 290

第11章  訪問數據庫 292

11.1  SQL語言 292

11.1.1  關系數據庫簡介 292

11.1.2  SQL語言 292

11.2  JDBC概述 294

11.3  使用JDBC訪問數據庫 295

11.4  使用SQLite數據庫 298

11.4.1  SQLite簡介 298

11.4.2  SQLite數據庫基本操作 299

11.4.3  使用帶參數的SQL語句 302

11.5  使用ResultSet更新數據庫 304

習題 306

第12章  使用第三方類庫 307

12.1  Maven構建工具 307

12.1.1  Maven倉庫 308

12.1.2  Maven項目結構 309

12.1.3  簡單Maven項目實例 309

12.2  常用的第三方類庫 313

12.3  使用JSON數據 314

12.3.1  JSON基本語法 314

12.3.2  JSON數據解析與生成 314

12.4  使用統計圖 318

12.5  處理Word文件 324

習題 328

參考文獻 330