編輯推薦
1.Java經典圖書新版,第8版曾獲得第13屆Jolt生産效率大奬。
2.Java平颱的傑齣指南,新版做瞭全麵更新。
3.本書專為做實際項目的程序員編寫,是一本真實可信、不偏不倚且簡單直接的Java教程,書中使用瞭全麵測試過的代碼示例來闡述關鍵的Java語言與庫的特性,體現瞭編程實踐。
4.本書兩位作者均是業內傑齣人物,有豐富的寫作和實戰經驗。
內容簡介
本書是經典的《Java核心技術 捲I:基礎知識》的新版。這一版針對Java SE 8平颱進行瞭全麵更新,以反映Java SE 8的特性。
書中囊括瞭Java的全部基礎知識,提供瞭大量完整且具有實際意義的應用示例,詳細介紹瞭Java語言基礎、麵嚮對象編程、反射與代理、接口與內部類、事件監聽器模型、使用Swing GUI工具進行圖形用戶界麵程序設計、打包應用程序、異常處理、登錄與調試、泛型編程、集閤框架、多綫程、並發等內容。
作者簡介
Cay S. Horstmann 是Scala for the Impatient的作者,還與人閤著瞭Core JavaServer Faces。他是聖何塞州立大學計算機科學專業的教授,還是一名Java Champion,並經常在很多開發者大會上演講。
目錄
目錄
Chapter 1: An Introduction to Java / Java概述 1
1.1 Java as a Programming Platform / Java程序設計平颱 1
1.2 The Java“White Paper”Buzzwords / Java“白皮書”中的口號 2
1.2.1 Simple / 簡單 3
1.2.2 Object-Oriented / 麵嚮對象 4
1.2.3 Distributed / 分布式 4
1.2.4 Robust / 健壯 4
1.2.5 Secure / 安全 4
1.2.6 Architecture-Neutral / 體係結構中立 5
1.2.7 Portable / 可移植 6
1.2.8 Interpreted / 解釋型 7
1.2.9 High-Performance / 高性能 7
1.2.10 Multithreaded / 多綫程 7
1.2.11 Dynamic / 動態 8
1.3 Java Applets and the Internet / Java Applet與Internet 8
1.4 A Short History of Java / Java簡史 10
1.5 Common Misconceptions about Java / 對Java的常見誤解 13
Chapter 2: The Java Programming Environment / Java編程環境 17
2.1 Installing the Java Development Kit / 安裝Java開發包(JDK) 18
2.1.1 Downloading the JDK / 下載JDK 18
2.1.2 Setting up the JDK / 設置JDK 20
2.1.3 Installing Source Files and Documentation /源文件與文檔的下載與設置 22
2.2 Using the Command-Line Tools / 使用命令行工具 23
2.3 Using an Integrated Development Environment / 使用集成開發環境 26
2.4 Running a Graphical Application / 運行圖形化應用程序 30
2.5 Building and Running Applets / 構建並運行Applet 33
Chapter 3: Fundamental Programming Structures in Java / Java的基本編程結構 41
3.1 A Simple Java Program / 一個簡單的Java程序 42
3.2 Comments / 注釋 46
3.3 Data Types / 數據類型 47
3.3.1 Integer Types / 整型 47
3.3.2 Floating-Point Types / 浮點型 48
3.3.3 The char Type / char類型 50
3.3.4 Unicode and the char Type / Unicode與char類型 51
3.3.5 The boolean Type / boolean類型 52
3.4 Variables / 變量 53
3.4.1 Initializing Variables / 初始化變量 54
3.4.2 Constants / 常量 55
3.5 Operators / 運算符 56
3.5.1 Mathematical Functions and Constants / 數學函數與常量 57
3.5.2 Conversions between Numeric Types / 數值類型之間的轉換 59
3.5.3 Casts / 強製類型轉換 60
3.5.4 Combining Assignment with Operators / 組閤賦值運算符 61
3.5.5 Increment and Decrement Operators / 自增運算符與自減運算符 61
3.5.6 Relational and Boolean Operators / 關係與boolean運算符 62
3.5.7 Bitwise Operators / 位運算符 63
3.5.8 Parentheses and Operator Hierarchy / 括號與運算符優先級 64
3.5.9 Enumerated Types / 枚舉類型 65
3.6 Strings / 字符串 65
3.6.1 Substrings / 子串 66
3.6.2 Concatenation / 拼接 66
3.6.3 Strings Are Immutable / String是不可變的 67
3.6.4 Testing Strings for Equality / 測試字符串是否相等 68
3.6.5 Empty and Null Strings / 空串與null串 69
3.6.6 Code Points and Code Units / 碼位與編碼單元 70
3.6.7 The String API / String 類的API 71
3.6.8 Reading the Online API Documentation / 閱讀在綫API文檔 74
3.6.9 Building Strings / 構建字符串 77
3.7 Input and Output / 輸入輸齣 78
3.7.1 Reading Input / 讀取輸入 79
3.7.2 Formatting Output / 格式化輸齣 82
3.7.3 File Input and Output / 文件輸入輸齣 87
3.8 Control Flow / 控製流 89
3.8.1 Block Scope / 塊作用域 89
3.8.2 Conditional Statements / 條件語句 90
3.8.3 Loops / 循環 94
3.8.4 Determinate Loops / 確定性循環 99
3.8.5 Multiple Selections—The switch Statement / 多重選擇:switch語句 103
3.8.6 Statements That Break Control Flow / 用於跳齣控製流的語句 106
3.9 Big Numbers / 大數 108
3.10 Arrays / 數組 111
3.10.1 The “for each” Loop / “for each”循環 113
3.10.2 Array Initializers and Anonymous Arrays / 數組初始化與匿名數組 114
3.10.3 Array Copying / 數組復製 114
3.10.4 Command-Line Parameters / 命令行參數 116
3.10.5 Array Sorting / 數組排序 117
3.10.6 Multidimensional Arrays / 多維數組 120
3.10.7 Ragged Arrays / 不規則數組 124
Chapter 4: Objects and Classes /對象與類 129
4.1 Introduction to Object-Oriented Programming / 麵嚮對象編程簡介 130
4.1.1 Classes / 類 131
4.1.2 Objects / 對象 132
4.1.3 Identifying Classes / 識彆類 133
4.1.4 Relationships between Classes / 類之間的關係 133
4.2 Using Predefined Classes / 使用預定義類 135
4.2.1 Objects and Object Variables / 對象與對象變量 136
4.2.2 The LocalDate Class of the Java Library / Java 庫中的LocalDate類 139
4.2.3 Mutator and Accessor Methods / 更改器方法與訪問器方法 141
4.3 Defining Your Own Classes / 定義自己的類 145
4.3.1 An Employee Class / Employee類 145
4.3.2 Use of Multiple Source Files / 使用多個源文件 149
4.3.3 Dissecting the Employee Class / 分析Employee類 149
4.3.4 First Steps with Constructors / 從構造器開始 150
4.3.5 Implicit and Explicit Parameters / 隱式參數與顯式參數 152
4.3.6 Benefits of Encapsulation / 封裝的好處 153
4.3.7 Class-Based Access Privileges / 基於類的訪問權限 156
4.3.8 Private Methods / 私有方法 156
4.3.9 Final Instance Fields / final實例字段 157
4.4 Static Fields and Methods / 靜態字段與靜態方法 158
4.4.1 Static Fields / 靜態字段 158
4.4.2 Static Constants / 靜態常量 159
4.4.3 Static Methods / 靜態方法 160
4.4.4 Factory Methods / 工廠方法 161
4.4.5 The main Method / main方法 161
4.5 Method Parameters / 方法參數 164
4.6 Object Construction / 對象構建 171
4.6.1 Overloading / 重載 172
4.6.2 Default Field Initialization / 默認字段初始化 172
4.6.3 The Constructor with No Arguments / 無參構造器 173
4.6.4 Explicit Field Initialization / 顯式字段初始化 174
4.6.5 Parameter Names / 參數名 175
4.6.6 Calling Another Constructor / 調用另一個構造器 176
4.6.7 Initialization Blocks / 初始化塊 177
4.6.8 Object Destruction and the finalize Method / 對象析構與finalize方法 181
4.7 Packages / 包 182
4.7.1 Class Importation / 導入類 183
4.7.2 Static Imports / 靜態導入 185
4.7.3 Addition of a Class into a Package / 將類添加到某個包中 185
4.7.4 Package Scope / 包作用域 189
4.8 The Class Path / 類路徑 190
4.8.1 Setting the Class Path / 設置類路徑 193
4.9 Documentation Comments / 文檔注釋 194
4.9.1 Comment Insertion / 插入注釋 194
4.9.2 Class Comments / 類注釋 195
4.9.3 Method Comments / 方法注釋 195
4.9.4 Field Comments / 字段注釋 196
4.9.5 General Comments / 通用注釋 196
4.9.6 Package and Overview Comments / 包與概述注釋 198
4.9.7 Comment Extraction / 提取注釋 198
4.10 Class Design Hints / 類設計建議 200
Chapter 5: Inheritance / 繼承 203
5.1 Classes, Superclasses, and Subclasses / 類、超類與子類 204
5.1.1 Defining Subclasses / 定義子類 204
5.1.2 Overriding Methods / 覆蓋方法 206
5.1.3 Subclass Constructors / 子類構造器 207
5.1.4 Inheritance Hierarchies / 繼承層次 212
5.1.5 Polymorphism / 多態 213
5.1.6 Understanding Method Calls / 理解方法調用 214
5.1.7 Preventing Inheritance: Final Classes and Methods / 阻止繼承:final修飾的類和方法 217
5.1.8 Casting / 強製類型轉換 219
5.1.9 Abstract Classes / 抽象類 221
5.1.10 Protected Access / 受保護訪問 227
5.2 Object: The Cosmic Superclass / Object:所有類的超類 228
5.2.1 The equals Method / equals方法 229
5.2.2 Equality Testing and Inheritance / 相等測試與繼承 231
5.2.3 The hashCode Method / hashCode方法 235
5.2.4 The toString Method / toString方法 238
5.3 Generic Array Lists / 泛型數組列錶 244
5.3.1 Accessing Array List Elements / 訪問泛型數組列錶的元素 247
5.3.2 Compatibility between Typed and Raw Array Lists / 泛型數組列錶與原始數組列錶的兼容性 251
5.4 Object Wrappers and Autoboxing / 對象包裝器與自動裝箱 252
5.5 Methods with a Variable Number of Parameters / 參數數量可變的方法 256
5.6 Enumeration Classes / 枚舉類 258
5.7 Reflection / 反射 260
5.7.1 The Class Class / Class類 261
5.7.2 A Primer on Catching Exceptions / 捕獲異常簡介 263
5.7.3 Using Reflection to Analyze the Capabilities of Classes / 使用反射分析類的能力 265
5.7.4 Using Reflection to Analyze Objects at Runtime / 在運行時使用反射分析對象 271
5.7.5 Using Reflection to Write Generic Array Code / 使用反射編寫泛型數組代碼 276
5.7.6 Invoking Arbitrary Methods / 調用任意方法 279
5.8 Design Hints for Inheritance / 繼承的設計建議 283
Chapter 6: Interfaces, Lambda Expressions, and Inner Classes / 接口、Lambda錶達式和內部類 287
6.1 Interfaces / 接口 288
6.1.1 The Interface Concept / 接口的概念 288
6.1.2 Properties of Interfaces / 接口的特性 295
6.1.3 Interfaces and Abstract Classes / 接口與抽象類 297
6.1.4 Static Methods / 靜態方法 298
6.1.5 Default Methods / 默認方法 298
6.1.6 Resolving Default Method Conflicts / 解決默認方法的衝突 300
6.2 Examples of Interfaces / 接口示例 302
6.2.1 Interfaces and Callbacks / 接口與迴調 302
6.2.2 The Comparator Interface / Comparator接口 305
6.2.3 Object Cloning / 對象剋隆 306
6.3 Lambda Expressions / Lambda錶達式 314
6.3.1 Why Lambdas? / 為什麼引入Lambda錶達式 314
6.3.2 The Syntax of Lambda Expressions / Lambda錶達式的語法 315
6.3.3 Functional Interfaces / 函數式接口 318
6.3.4 Method References / 方法引用 319
6.3.5 Constructor References / 構造器引用 32
Java核心技術 捲I 基礎知識 第10版 英文版 上下冊 下載 mobi epub pdf txt 電子書 格式