本書對面向對象的思想和機制進行了準確而透徹的剖析,為讀者深入學習Java語言程序設計提供了全面、詳細的指導,并在前幾版的基礎上進行了全面的修訂與更新。全書覆蓋了面向對象設計的廣泛內容,介紹了Java語言的基本數據類型、流程控制、類和對象等。本書在深入分析面向對象設計方法的基礎上,介紹了封裝機制、繼承機制和多態(tài)性的實現(xiàn)與應用、異常的捕捉和處理、集合類的定義方法與泛型類的概念。書中提供了大量具有可實踐性的程序實例、自測題及答案、練習題和編程項目、生動的"軟件失誤案例”,并且在每章中都補充了針對本章主題的圖形用戶界面(GUI)設計知識和實例,講解了如何使用開發(fā)工具JavaFX來設計GUI,這部分內容可形成完整的Java GUI設計知識體系。
John Lewis教授是美國知名的編程語言暢銷教材的作者,撰寫了多部有關Java編程導論、Java軟件解決方案、Java數據結構以及計算機應用的相關教材。Lewis教授從美國弗吉尼亞大學獲得了博士學位并一直在該校任教。
John Lewis教授是美國知名的編程語言暢銷教材的作者,撰寫了多部有關Java編程導論、Java軟件解決方案、Java數據結構以及計算機應用的相關教材。Lewis教授從美國弗吉尼亞大學獲得了博士學位并一直在該校任教。
目?錄
Chapter 1?Introduction?計算機系統(tǒng)概述 1
1.1?Computer Processing?計算機處理過程 2
1.2?Hardware Components?硬件組件 10
1.3?Networks?網絡 19
1.4?The Java Programming Language?Java編程語言 26
1.5?Program Development?程序開發(fā) 35
1.6?Object-Oriented Programming?面向對象編程 43
Chapter 2?Data and Expressions?數據與表達式 55
2.1?Character Strings?字符串 56
2.2?Variables and Assignment?變量與賦值 63
2.3?Primitive Data Types?基本數據類型 69
2.4?Expressions?表達式 73
2.5?Data Conversion?數據類型轉換 81
2.6?Interactive Programs?交互式程序 85
Chapter 3?Using Classes and Objects?類與對象 99
3.1?Creating Objects?創(chuàng)建對象 100
3.2?The String Class?String類 104
3.3?Packages?包 108
3.4?The Random Class?Random類 112
3.5?The Math Class?Math類 115
3.6?Formatting Output?格式化輸出 118
3.7?Enumerated Types?枚舉類型 124
3.8?Wrapper Classes?包裝器類 127
3.9?Introduction to JavaFX?JavaFX簡介 129
3.10?Basic Shapes?基本形狀 133
3.11?Representing Colors?顏色呈現(xiàn) 140
Chapter 4?Writing Classes?編寫類 147
4.1?Classes and Objects Revisited?類與對象的核心概念 148
4.2?Anatomy of a Class?類的分析 150
4.3?Encapsulation?封裝 157
4.4?Anatomy of a Method?方法的分析 160
4.5?Constructors Revisited?再論構造方法 169
4.6?Arcs?弧 170
4.7?Images?圖形 173
4.8?Graphical User Interfaces?圖形用戶界面 176
4.9?Text Fields?文本框 180
Chapter 5?Conditionals and Loops?條件判斷與循環(huán) 191
5.1?Boolean Expressions?布爾表達式 192
5.2?The if Statement?if語句 197
5.3?Comparing Data?數據比較 210
5.4?The while Statement?while語句 214
5.5?Iterators?迭代器 225
5.6?The ArrayList Class?ArrayList類 229
5.7?Determining Event Sources?確定事件源 232
5.8?Managing Fonts?管理字體 234
5.9?Check Boxes?復選框 237
5.10?Radio Buttons?單選鈕 241
Chapter 6?More Conditionals and Loops?其他條件判斷與循環(huán) 255
6.1?The switch Statement?switch語句 256
6.2?The Conditional Operator?條件運算符 260
6.3?The do Statement?do語句 261
6.4?The for Statement?for語句 265
6.5?Using Loops and Conditionals with Graphics?對圖形使用循環(huán)和條件 271
6.6?Graphic Transformations?圖形轉換 276
Chapter 7?Object-Oriented Design?面向對象設計 289
7.1?Software Development Activities?軟件開發(fā)活動 290
7.2?Identifying Classes and Objects?明確類和對象 291
7.3?Static Class Members?靜態(tài)類成員 293
7.4?Class Relationships?類間關系 298
7.5?Interfaces?接口 310
7.6?Enumerated Types Revisited?再論枚舉類型 317
7.7?Method Design?方法設計 320
7.8?Method Overloading?方法重載 331
7.9?Testing?測試 333
7.10?GUI Design?GUI設計 337
7.11?Mouse Events?鼠標事件 338
7.12?Key Events?按鍵事件 343
Chapter 8?Arrays?數組 355
8.1?Array Elements?數組元素 356
8.2?Declaring and Using Arrays?聲明和使用數組 357
8.3?Arrays of Objects?對象數組 368
8.4?Command-Line Arguments?命令行實參 378
8.5?Variable Length Parameter Lists?可變長度參數表 380
8.6?Two-Dimensional Arrays?二維數組 384
8.7?Polygons and Polylines?多邊形和折線 389
8.8?An Array of Color Objects?Color對象數組 392
8.9?Choice Boxes?選項框 395
Chapter 9?Inheritance?繼承 407
9.1?Creating Subclasses?創(chuàng)建子類 408
9.2?Overriding Methods?重寫方法 419
9.3?Class Hierarchies?類層次結構 422
9.4?Visibility?可見性 427
9.5?Designing for Inheritance?繼承關系的設計 430
9.6?Inheritance in JavaFX?JavaFX中的繼承 432
9.7?Color and Date Pickers?顏色和日期選擇器 434
9.8?Dialog Boxes?對話框 438
Chapter 10?Polymorphism?多態(tài)性 451
10.1?Late Binding?后綁定 452
10.2?Polymorphism via Inheritance?利用繼承實現(xiàn)多態(tài)性 453
10.3?Polymorphism via Interfaces?利用接口實現(xiàn)多態(tài)性 466
10.4?Sorting?排序 468
10.5?Searching?搜索 477
10.6?Designing for Polymorphism?多態(tài)性設計 483
10.7?Properties?屬性 485
10.8?Sliders?滑動條 491
10.9?Spinners?微調器 493
Chapter 11?Exceptions?異常 501
11.1?Exception Handling?異常處理 502
11.2?Uncaught Exceptions?未捕獲的異常 503
11.3?The try-catch Statement?try-catch語句 504
11.4?Exception Propagation?異常的傳遞 509
11.5?The Exception Class Hierarchy?異常類層次結構 513
11.6?I/O Exceptions?I/O異常 517
11.7?Tool Tips and Disabling Controls?工具提示與禁用控件 521
11.8?Scroll Panes?滾動面板 525
11.9?Split Panes and List Views?分隔面板和列表視圖 528
Chapter 12?Recursion?遞歸 537
12.1?Recursive Thinking?遞歸思想 538
12.2?Recursive Programming?遞歸編程 540
12.3?Using Recursion?遞歸的應用 544
12.4?Tiled Images?平鋪圖形 555
12.5?Fractals?分形 559
Chapter 13?Collections?集合 573
13.1?Collections and Data Structures?集合與數據結構 574
13.2?Dynamic Representations?數據結構的動態(tài)表示 575
13.3?Linear Collections?線性集合 583
13.4?Non-Linear Data Structures?非線性數據結構 587
13.5?The Java Collections API?Java集合類API 590
Appendix A Glossary?術語表 597
Appendix B Number Systems?數制系統(tǒng) 621
Appendix C The Unicode Character Set?Unicode字符集 629
Appendix D Java Operators?Java運算符 633
Appendix E Java Modifiers?Java修飾符 639
Appendix F Java Coding Guidelines?Java編碼指南 643
Appendix G JavaFX Layout Panes?JavaFX布局面板 649
Appendix H JavaFX Scene Builder 659
Appendix I Regular Expressions?正則表達式 669
Appendix J Javadoc Documentation Generator?Javadoc文檔生成器 671
Appendix K Java Syntax?Java語法 677
Appendix L Answers to Self-Review Questions?自測題答案 691