Java核心技術 原書第10版
作 者: (美)凱 S.霍斯特曼(Cay S.Horstmann) 著;周立新 等 譯 著
定 價: 119
出?版?社: 機械工業出版社
出版日期: 2016年09月01日
頁 數: 711
裝 幀: 平裝
ISBN: 9787111547426
●譯者序
前言
致謝
章Java程序設計概述 1
1.1Java程序設計平臺 1
1.2Java“白皮書”的關鍵術語 2
1.2.1簡單性 2
1.2.2面向對像 2
1.2.3分布式 3
1.2.4健壯性 3
1.2.5安全性 3
1.2.6體繫結構中立 4
1.2.7可移植性 4
1.2.8解釋型 5
1.2.9高性能 5
1.2.10多線程 5
1.2.11動態性 5
1.3Java applet與Internet 6
1.4Java發展簡史 7
1.5關於Java的常見誤解 9
第2章Java程序設計環境 12
2.1安裝Java開發工具包 12
2.1.1JDK 12
2.1.2設置JDK 13
2.1.3安裝庫源文件和文檔 15
2.2使用命令行工具 16
2.3使用集成開發環境 18
2.4運行圖形化應用程序 21
2.5構建並運行applet 23
第3章Java的基本程序設計結構 28
3.1一個簡單的Java應用程序 28
3.2注釋 31
3.3數據類型 32
3.3.1整型 32
3.3.2浮點類型 33
3.3.3char類型 34
3.3.4Unicode和char類型 35
3.3.5boolean類型 35
3.4變量 36
3.4.1變量初始化 37
3.4.2常量 37
3.5運算符 38
3.5.1數學函數與常量 39
3.5.2數值類型之間的轉換 40
3.5.3強制類型轉換 41
3.5.4結合賦值和運算符 42
3.5.5自增與自減運算符 42
3.5.6關繫和boolean運算符 42
3.5.7位運算符 43
3.5.8括號與運算符級別 44
3.5.9枚舉類型 45
3.6字符串 45
3.6.1子串 45
3.6.2拼接 46
3.6.3不可變字符串 46
3.6.4檢測字符串是否相等 47
3.6.5空串與Null串 48
3.6.6碼點與 49
3.6.7String API 50
3.6.8閱讀聯機API文檔 52
3.6.9構建字符串 54
3.7輸入輸出 55
3.7.1讀取輸入 55
3.7.2格式化輸出 58
3.7.3文件輸入與輸出 61
3.8控制流程 63
3.8.1塊作用域 63
3.8.2條件語句 63
3.8.3循環 66
3.8.4確定循環 69
3.8.5多重選擇:switch語句 72
3.8.6中斷控制流程語句 74
3.9大數值 76
3.10數組 78
3.10.1for each循環 79
3.10.2數組初始化以及匿名數組 80
3.10.3數組拷貝 81
3.10.4命令行參數 81
3.10.5數組排序 82
3.10.6多維數組 85
3.10.7不規則數組 88
第4章對像與類 91
4.1面向對像程序設計概述 91
4.1.1類 92
4.1.2對像 93
4.1.3識別類 93
4.1.4類之間的關繫 94
4.2使用預定義類 95
4.2.1對像與對像變量 95
4.2.2Java類庫中的LocalDate類 98
4.2.3更改器方法與訪問器方法 100
4.3用戶自定義類 103
4.3.1Employee類 103
4.3.2多個源文件的使用 105
4.3.3剖析Employee類 106
4.3.4從構造器開始 106
4.3.5隱式參數與顯式參數 108
4.3.6封裝的優點 109
4.3.7基於類的訪問權限 111
4.3.8私有方法 111
4.3.9f?inal實例域 112
4.4靜態域與靜態方法 112
4.4.1靜態域 112
4.4.2靜態常量 113
4.4.3靜態方法 114
4.4.4工廠方法 115
4.4.5main方法 115
4.5方法參數 118
4.6對像構造 123
4.6.1重載 123
4.6.2默認域初始化 123
4.6.3無參數的構造器 124
4.6.4顯式域初始化 125
4.6.5參數名 125
4.6.6調用另一個構造器 126
4.6.7初始化塊 127
4.6.8對像析構與f?inalize方法 130
4.7包 131
4.7.1類的導入 131
4.7.2靜態導入 133
4.7.3將類放入包中 133
4.7.4包作用域 136
4.8類路徑 137
4.8.1設置類路徑 139
4.9文檔注釋 140
4.9.1注釋的插入 140
4.9.2類注釋 140
4.9.3方法注釋 141
4.9.4域注釋 142
4.9.5通用注釋 142
4.9.6包與概述注釋 143
4.9.7注釋的抽取 143
4.10類設計技巧 144
第5章繼承 147
5.1類、超類和子類 147
5.1.1定義子類 147
5.1.2覆蓋方法 149
5.1.3子類構造器 150
5.1.4繼承層次 153
5.1.5多態 154
5.1.6理解方法調用 155
5.1.7阻止繼承:f?inal類和方法 157
5.1.8強制類型轉換 158
5.1.9抽像類 160
5.1.10受保護訪問 165
5.2Object:所有類的超類 166
5.2.1equals方法 166
5.2.2相等測試與繼承 167
5.2.3hashCode方法 170
5.2.4toString方法 172
5.3泛型數組列表 178
5.3.1訪問數素 180
5.3.2類型化與原始數組列表的兼容性 183
5.4對像包裝器與自動裝箱 184
5.5參數數量可變的方法 187
5.6枚舉類 188
5.7反射 190
5.7.1Class類 190
5.7.2捕獲異常 192
5.7.3利用反射分析類的能力 194
5.7.4在運行時使用反射分析對像 198
5.7.5使用反射編寫泛型數組代碼 202
5.7.6調用任意方法 205
5.8繼承的設計技巧 208
第6章接口、lambda表達式與內部類 211
6.1接口 211
6.1.1接口概念 211
6.1.2接口的特性 217
6.1.3接口與抽像類 218
6.1.4靜態方法 218
6.1.5默認方法 219
6.1.6解決默認方法衝突 220
6.2接口示例 222
6.2.1接口與回調 222
6.2.2Comparator接口 224
6.2.3對像克隆 225
6.3lambda表達式 231
6.3.1為什麼引入lambda表達式 231
6.3.2lambda表達式的語法 232
6.3.3函數式接口 234
6.3.4方法引用 235
6.3.5構造器引用 237
6.3.6變量作用域 237
6.3.7處理lambda表達式 239
6.3.8再談Comparator 242
6.4內部類 242
6.4.1使用內部類訪問對像狀態 244
6.4.2內部類的特殊語法規則 247
6.4.3內部類是否有用、必要和安全 248
6.4.4局部內部類 250
6.4.5由外部方法訪問變量 250
6.4.6匿名內部類 252
6.4.7靜態內部類 255
6.5代理 258
6.5.1何時使用代理 259
6.5.2創建代理對像 259
6.5.3代理類的特性 262
第7章異常、斷言和日志 264
7.1處理錯誤 264
7.1.1異常分類 265
7.1.2聲明受查異常 267
7.1.3如何拋出異常 269
7.1.4創建異常類 270
7.2捕獲異常 271
7.2.1捕獲異常 271
7.2.2捕獲多個異常 273
7.2.3再次拋出異常與異常鏈 274
7.2.4f?inally子句 275
7.2.5帶資源的try語句 278
7.2.6分析堆素 280
7.3使用異常機制的技巧 282
7.4使用斷言 285
7.4.1斷言的概念 285
7.4.2啟用和禁用斷言 286
7.4.3使用斷言完成參數檢查 287
7.4.4為文檔假設使用斷言 288
7.5記錄日志 289
7.5.1基本日志 289
7.5.2不錯日志 289
7.5.3修改日志管理器配置 291
7.5.4本地化 292
7.5.5處理器 293
7.5.6過濾器 296
7.5.7格式化器 296
7.5.8日志記錄說明 296
7.6調試技巧 304
第8章泛型程序設計 309
8.1為什麼要使用泛型程序設計 309
8.1.1類型參數的好處 309
8.1.2誰想成為泛型程序員 310
8.2定義簡單泛型類 311
8.3泛型方法 313
8.4類型變量的限定 314
8.5泛型代碼和虛擬機 316
8.5.1類型擦除 316
8.5.2翻譯泛型表達式 317
8.5.3翻譯泛型方法 318
8.5.4調用遺留代碼 319
8.6約束與局限性 320
8.6.1不能用基本類型實例化類型參數 320
8.6.2運行時類型查詢隻適用於原始類型 321
8.6.3不能創建參數化類型的數組 321
8.6.4Varargs警告 322
8.6.5不能實例化類型變量 323
8.6.6不能構造泛型數組 323
8.6.7泛型類的靜態上下文中類型變量無效 325
8.6.8不能拋出或捕獲泛型類的實例 325
8.6.9可以消除對受查異常的檢查 326
8.6.10注意擦除後的衝突 327
8.7泛型類型的繼承規則 328
8.8通配符類型 330
8.8.1通配符概念 330
8.8.2通配符的超類型限定 331
8.8.3無限定通配符 334
8.8.4通配符捕獲 334
8.9反射和泛型 337
8.9.1泛型Class類 337
8.9.2使用Class參數進行類型匹配 338
8.9.3虛擬機中的泛型類型信息 338
第9章集合 344
9.1Java集合框架 344
9.1.1將集合的接口與實現分離 344
9.1.2Collection接口 346
9.1.3迭代器 347
9.1.4泛型實用方法 349
9.1.5集合框架中的接口 352
9.2具體的集合 353
9.2.1鏈表 355
9.2.2數組列表 362
9.2.3散列集 363
9.2.4樹集 366
9.2.5隊列與雙端隊列 369
9.2.6優先級隊列 371
9.3映射 372
9.3.1基本映射操作 372
9.3.2更新映射項 375
9.3.3映射視圖 376
9.3.4弱散列映射 377
9.3.5鏈接散列集與映射 378
9.3.6枚舉集與映射 379
9.3.7標識散列映射 380
9.4視圖與包裝器 381
9.4.1輕量級集合包裝器 382
9.4.2子範圍 382
9.4.3不可修改的視圖 383
9.4.4同步視圖 384
9.4.5受查視圖 384
9.4.6關於可選操作的說明 385
9.5算法 388
9.5.1排序與混排 389
9.5.2二分查找 391
9.5.3簡單算法 392
9.5.4批操作 394
9.5.5集合與數組的轉換 394
9.5.6編寫自己的算法 395
9.6遺留的集合 396
9.6.1Hashtable類 397
9.6.2枚舉 397
9.6.3屬性映射 398
9.6.4棧 399
9.6.5位集 399
0章圖形程序設計 403
10.1Swing概述 403
10.2創建框架 407
10.3框架定位 409
10.3.1框架屬性 411
10.3.2確定合適的框架大小 411
10.4在組件中顯示信息 415
10.5處理2D圖形 419
10.6使用顏色 426
10.7文本使用特殊字體 429
10.8顯示圖像 435
1章事件處理 439
11.1事件處理基礎 439
11.1.1實例:處理按鈕點擊事件 441
11.1.2簡潔地指定監聽器 445
11.1.3實例:改變觀感 447
11.1.4適配器類 450
11.2動作 453
11.3鼠標事件 459
11.4AWT事件繼承層次 465
11.4.1語義事件和底層事件 466
2章Swing用戶界面組件 469
12.1Swing和模型–視圖–控制器設計模式 469
12.2布局管理概述 474
12.3文本輸入 481
12.4選擇組件 488
12.5菜單 504
12.6復雜的布局管理 518
12.7對話框 541
12.8GUI程序排錯 573
3章部署Java應用程序 580
13.1JAR文件 580
13.2應用首選項的存儲 586
13.3服務加載器 596
13.4applet 598
13.5Java Web Start 614
4章並發 624
14.1什麼是線程 624
14.2中斷線程 632
14.3線程狀態 635
14.4線程屬性 638
14.5同步 640
14.6阻塞隊列 668
14.7線程安全的集合 673
14.8Callable與Future 681
14.9執行器 685
14.10同步器 696
14.11線程與Swing 698
附錄AJava關鍵字 710
內容簡介
Java領域很有影響力和價值的著作之一,由擁有20多年教學與研究經驗的資深Java技術專家撰寫(獲Jolt大獎),與《Java編程思想》齊名,10餘年優選暢銷不衰,廣受好評。0版根據JavaSE8全方面更新,同時修正了第9版中的不足,繫統全面地講解了Java語言的核心概念、語法、重要特性和開發方法,包含大量案例,實踐性強。
(美)凱 S.霍斯特曼(Cay S.Horstmann) 著;周立新 等 譯 著
凱 S. 霍斯特曼(Cay S. Horstmann),聖何塞州立大學計算機科學繫教授、Java的倡導者,經常在開發人員會議上發表演講。他是《Core Java for the Impatient》(2015)《Java SE 8 for the Really Impatient》(2014)和《Scala for the lmpatient》(2012)的作者,這些書均由Addison-Wesley出版。他為專業程序員和計算機科學專業學生編寫過數十本圖書。
前 言致讀者1995年年底,Java語言在Internet舞臺一亮相便名聲大噪。其原因在於它將有望成為連接用戶與信息的萬能膠,而不論這些信息來自Web服務器、數據庫、信息提供商,還是任何其他渠道。事實上,就發展前景而言,Java的地位是獨一無二的。它是一種完全可信賴的程序設計語言,得到了除微軟之外的所有廠家的認可。其固有的可靠性與安全性不僅令Java程序員放心,也令使用Java程序的用戶放心。Java內建了對網絡編程、數據庫連接、多線程等不錯程序設計任務的支持。 1995年以來,已經發布了Java開發工具包(Java Development Kit)的9個主要版本。在過去的20年中,應用程序編程接口(API)已經從200個類擴展到超過4000個類。現在這些API覆蓋了用戶界面構建、數據庫管理、國際化、安全性以及XML處理等各個不同的領域......