出版時間:1999-04 出版社:機械工業(yè)出版社 作者:(美)Bruce Eckel 頁數(shù):665 譯者:京京工作室
Tag標(biāo)簽:無
內(nèi)容概要
本書指導(dǎo)讀者利用JAVA語言進行面向?qū)ο蟮某绦蛟O(shè)計,詳細(xì)介紹了JAVA的基本語法及它的高級特性(網(wǎng)絡(luò)編程、高級面向?qū)ο竽芰?、多線程),系統(tǒng)地講述了JAVA的高級理論,形象地闡述了面向?qū)ο蠡纠碚?。書中包?20個有用的JAVA程序,15000余行代碼,這些短小精悍的程序示例有助于讀者理解含義模糊的概念。
書籍目錄
前言
第1章 對象入門
1.1 抽象有進步
1.2 對象的接口
1.3 實現(xiàn)方案的隱藏
1.4 方案的重復(fù)使用
1.5 繼承:重新使用接口
1.5.1 改善基礎(chǔ)類
1.5.2 等價與類似關(guān)系
1.6 多形對象的互換使用
1.6.1 動態(tài)綁定
1.6.2 抽象的基礎(chǔ)類和接口
1.7 對象的創(chuàng)建和存在時間
1.7.1 集合與繼承器
1.7.2 單根結(jié)構(gòu)
1.7.3 集合庫與方便使用集合
1.7.4 清除時的困境:由誰負(fù)責(zé)清除?
1.8 違例控制:解決錯誤
1.9 多線程
1.10 永久性
1.11 Java和因特網(wǎng)
1.11.1 什么是Web
1.11.2 客戶端編程
1.11.3 服務(wù)器端編程
1.11.4 一個獨立的領(lǐng)域:應(yīng)用程序
1.12 分析和設(shè)計
1.12.1 不要迷失
1.12.2 階段0:擬出一個計劃
1.12.3 階段1:要制作什么
1.12.4 階段2:如何構(gòu)建
1.12.5 階段3:開始創(chuàng)建
1.12.6 階段4:校訂
1.12.7 計劃的回報
1.13 Java還是C++
第2章 一切都是對象
2.1 用句柄操縱對象
2.2 所有對象都必須創(chuàng)建
2.2.1 保存到什么地方
2.2.2 特殊情況:主要類型
2.2.3 Java的數(shù)組
2.3 絕對不要清除對象
2.3.1 作用域
2.3.2 對象的作用域
2.4 新建數(shù)據(jù)類型:類
2.5 方法、自變量和返回值
2.6 構(gòu)建Java程序
2.6.1 名字的可見性
2.6.2 使用其他組件
2.6.3 static關(guān)鍵字
2.7 我們的第一個Java程序
2.8 注釋和嵌入文檔
2.8.1 注釋文檔
2.8.2 具體語法
2.8.3 嵌入HTML
2.8.4 @see:引用其他類
2.8.5 類文檔標(biāo)記
2.8.6 變量文檔標(biāo)記
2.8.7 方法文檔標(biāo)記
2.8.8 文檔示例
2.9 編碼樣式
2.10 總結(jié)
2.11 練習(xí)
第3章 控制程序流程
3.1 使用Java運算符
3.1.1 優(yōu)先級
3.1.2 賦值
3.1.3 算術(shù)運算符
3.1.4 自動遞增和遞減
3.1.5 關(guān)系運算符
3.1.6 邏輯運算符
3.1.7 按位運算符
3.1.8 移位運算符
3.1.9 三元if-else運算符
3.1.10 逗號運算符
3.1.11 字串運算符+
3.1.12 運算符常規(guī)操作規(guī)則
3.1.13 造型運算符
3.1.14 Java沒有“sizeof”
3.1.15 復(fù)習(xí)計算順序
3.1.16 運算符總結(jié)
3.2 執(zhí)行控制
3.2.1 真和假
3.2.2 if-else
3.2.3 反復(fù)
3.2.4 do-while
3.2.5 for
3.2.6 中斷和繼續(xù)
3.2.7 開關(guān)
3.3 總結(jié)
3.4 練習(xí)
第4章 初始化和清除
4.1 用構(gòu)建器自動初始化
4.2 方法過載
4.2.1 區(qū)分過載方法
4.2.2 主類型的過載
4.2.3 返回值過載
4.2.4 默認(rèn)構(gòu)建器
4.2.5 this關(guān)鍵字
4.3 清除:收尾和垃圾收集
4.3.1 finalize( )用途何在
4.3.2 必須執(zhí)行清除
4.4 成員初始化
4.4.1 規(guī)定初始化
4.4.2 構(gòu)建器初始化
4.5 數(shù)組初始化
4.6 總結(jié)
4.7 練習(xí)
第5章 隱藏實施過程
5.1 包:庫單元
5.1.1 創(chuàng)建獨一無二的包名
5.1.2 自定義工具庫
5.1.3 利用導(dǎo)入改變行為
5.1.4 包的停用
5.2 Java訪問指示符
5.2.1 “友好的”
5.2.2 public:接口訪問
5.2.3 private:不能接觸
5.2.4 protected:“友好的一種”
5.3 接口與實現(xiàn)
5.4 類訪問
5.5 總結(jié)
5.6 練習(xí)
第6章 類再生
6.1 合成的語法
6.2 繼承的語法
6.3 合成與繼承的結(jié)合
6.3.1 確保正確的清除
6.3.2 名字的隱藏
6.4 到底選擇合成還是繼承
6.5 protected
6.6 累積開發(fā)
6.7 上溯造型
6.8 final關(guān)鍵字
6.8.1 final數(shù)據(jù)
6.8.2 final方法
6.8.3 final類
6.8.4 final的注意事項
6.9 初始化和類裝載
6.10 總結(jié)
6.11 練習(xí)
第7章 多形性
7.1 上溯造型
7.2 深入理解
7.2.1 方法調(diào)用的綁定
7.2.2 產(chǎn)生正確的行為
7.2.3 擴展性
7.3 覆蓋與過載
7.4 抽象類和方法
7.5 接口
7.5.1 Java的“多重繼承”
7.5.2 通過繼承擴展接口
7.5.3 常數(shù)分組
7.5.4 初始化接口中的字段
7.6 內(nèi)部類
7.6.1 內(nèi)部類和上溯造型
7.6.2 方法和作用域中的內(nèi)部類
7.6.3 鏈接到外部類
7.6.4 static內(nèi)部類
7.6.5 引用外部類對象
7.6.6 從內(nèi)部類繼承
7.6.7 內(nèi)部類可以覆蓋嗎?
7.6.8 內(nèi)部類標(biāo)識符
7.6.9 為什么要用內(nèi)部類:控制框架
7.7 構(gòu)建器和多形性
7.7.1 構(gòu)建器和調(diào)用順序
7.7.2 繼承和finalize( )
7.7.3 構(gòu)建器內(nèi)部的多形性方法的行為
7.8 通過繼承進行設(shè)計
7.8.1 純繼承與擴展
7.8.2 下溯造型與運行期類型標(biāo)識
7.9 總結(jié)
7.10 練習(xí)
第8章 對象的容納
8.1 數(shù)組
8.1.1 數(shù)組和第一類對象
8.1.2 數(shù)組的返回
8.2 集合
8.3 枚舉器(反復(fù)器)
8.4 集合的類型
8.4.1 Vector
8.4.2 BitSet
8.4.3 Stack
8.4.4 Hashtable
8.4.5 再論枚舉器
8.5 排序
8.6 通用集合庫
8.7 新集合
8.7.1 使用Collections
8.7.2 使用Lists
8.7.3 使用Sets
8.7.4 使用Maps
8.7.5 決定實施方案
8.7.6 未支持的操作
8.7.7 排序和搜索
8.7.8 實用工具
8.8 總結(jié)
8.9 練習(xí)
第9章 違例差錯控制
9.1 基本違例
9.2 違例的捕獲
9.2.1 try塊
9.2.2 違例控制器
9.2.3 違例規(guī)范
9.2.4 捕獲所有的違例
9.2.5 重新“擲”出違例
9.3 標(biāo)準(zhǔn)Java違例
9.4 創(chuàng)建自己的違例
9.5 違例的限制
9.6 用finally清除
9.6.1 用finally作什么?
9.6.2 缺點:丟失的違例
9.7 構(gòu)建器
9.8 違例匹配
9.9 總結(jié)
9.10 練習(xí)
第10章 Java IO系統(tǒng)
10.1 輸入和輸出
10.1.1 InputSteam的類型
10.1.2 OutputStream的類型
10.2 增添屬性和有用的接口
10.2.1 通過FilterInputStream從InputStream里讀入數(shù)據(jù)
10.2.2 通過FilterOutputStream向Output Strea-m里寫入數(shù)據(jù)
10.3 本身的缺陷:RandomAccessFile
10.4 File類
10.4.1 目錄列表器
10.4.2 檢查與創(chuàng)建目錄
10.5 IO流的典型應(yīng)用
10.5.1 輸入流
10.5.2 輸出流
10.5.3 快捷文件處理
10.5.4 從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù)
10.5.5 管道數(shù)據(jù)流
10.6 StreamTokenizer
10.7 Java 1.1的IO流
10.7.1 數(shù)據(jù)的發(fā)起與接收
10.7.2 修改數(shù)據(jù)流的行為
10.7.3 未改變的類
10.7.4 一個例子
10.7.5 重導(dǎo)向標(biāo)準(zhǔn)IO
10.8 壓縮
10.8.1 用GZIP進行簡單壓縮
10.8.2 用Zip進行多文件保存
10.8.3 Java歸檔(jar)實用程序
10.9 對象序列化
10.9.1 尋找類
10.9.2 序列化的控制
10.9.3 利用“持久性”
10.10 總結(jié)
10.11 練習(xí)
第11章 運行期類型鑒定
11.1 對RTTI的需要
11.1.1 Class對象
11.1.2 造型前的檢查
11.2 RTTI語法
11.3 反射:運行期類信息
11.4 總結(jié)
11.5 練習(xí)
第12章 傳遞和返回對象
12.1 傳遞句柄
12.2 制作本地副本
12.2.1 按值傳遞
12.2.2 克隆對象
12.2.3 使類具有克隆能力
12.2.4 成功的克隆
12.2.5 Object.clone ( )的效果
12.2.6 克隆合成對象
12.2.7 用Vector進行深層復(fù)制
12.2.8 通過序列化進行深層復(fù)制
12.2.9 使克隆具有更大的深度
12.2.10 為什么有這個奇怪的設(shè)計
12.3 克隆的控制
12.4 只讀類
12.4.1 創(chuàng)建只讀類
12.4.2 “一成不變”的弊端
12.4.3 不變字串
12.4.4 String和StringBuffer類
12.4.5 字串的特殊性
12.5 總結(jié)
12.6 練習(xí)
第13章 創(chuàng)建窗口和程序片
13.1 為何要用AWT?
13.2 基本程序片
13.2.1 程序片的測試
13.2.2 一個更圖形化的例子
13.2.3 框架方法的演示
13.3 制作按鈕
13.4 捕獲事件
13.5 文本字段
13.6 文本區(qū)域
13.7 標(biāo)簽
13.8 復(fù)選框
13.9 單選框
13.10 下拉列表
13.11 列表框
13.12 布局的控制
13.12.1 FlowLayout
13.12.2 BorderLayout
13.12.3 GridLayout
13.12.4 CrdLayout
13.12.5 GridBagLayout
13.13 action的替代品
13.14 程序片的局限
13.15 視窗化應(yīng)用
13.15.1 菜單
13.15.2 對話框
13.16 新型AWT
13.16.1 新的事件模型
13.16.2 事件和接收者類型
13.16.3 用Java.AWT制作窗口和程序片
13.16.4 再研究一下以前的例子
13.16.5 動態(tài)綁定事件
13.16.6 將事務(wù)邏輯與UI邏輯區(qū)分開
13.16.7 推薦編碼方法
13.17 Java 1.1用戶接口API
13.17.1 桌面顏色
13.17.2 打印
13.17.3 剪貼板
13.18 可視編程和Beans
13.18.1 什么是Bean?
13.18.2 用Introspector提取BeanInfo
13.18.3 一個更復(fù)雜的Bean
13.18.4 Bean的封裝
13.18.5 更復(fù)雜的Bean支持
13.18.6 Bean更多的知識
13.19 Swing入門
13.19.1 Swing有哪些優(yōu)點
13.19.2 方便的轉(zhuǎn)換
13.19.3 功能框架
13.19.4 功能提示
13.19.5 邊框
13.19.6 按鈕
13.19.7 按鈕組
13.19.8 圖標(biāo)
13.19.9 菜單
13.19.10 彈出式菜單
13.19.11 列表框和組合框
13.19.12 滑塊和進程條
13.19.13 樹
13.19.14 表格
13.19.15 卡片式對話框
13.19.16 Swing消息框
13.19.17 Swing更多的知識
19.20 總結(jié)
13.21 練習(xí)
第14章 多線程
14.1 反應(yīng)靈敏的用戶界面
14.1.1 從線程繼承
14.1.2 針對用戶界面的多線程
14.1.3 用主類合并線程
14.1.4 制作多個線程
14.1.5 Deamon線程
14.2 共享有限的資源
14.2.1 資源訪問的錯誤方法
14.2.2 Java如何共享資源
14.2.3 回顧Java Beans
14.3 堵塞
14.3.1 為何會堵塞
14.3.2 死鎖
14.4 優(yōu)先級
14.5 回顧runnable
14.6 總結(jié)
14.7 練習(xí)
第15章 網(wǎng)絡(luò)編程
15.1 機器的標(biāo)識
15.1.1 服務(wù)器和客戶機
15.1.2 端口:機器內(nèi)獨一無二的場所
15.2 套接字
15.3 服務(wù)多個客戶
15.4 數(shù)據(jù)報
15.5 一個Web應(yīng)用
15.5.1 服務(wù)器應(yīng)用
15.5.2 Name Sender程序片
15.5.3 要注意的問題
15.6 Java與CGI的溝通
15.6.1 CGI數(shù)據(jù)的編碼
15.6.2 程序片
15.6.3 用C++寫的CGI程序
15.6.4 POST的概念
15.7 用JDBC連接數(shù)據(jù)庫
15.7.1 讓示例運行起來
15.7.2 查找程序的GUI版本
15.7.3 JDBC API為何如此復(fù)雜
15.8 遠程方法
15.8.1 遠程接口概念
15.8.2 遠程接口的實施
15.8.3 創(chuàng)建根與干
15.8.4 使用遠程對象
15.8.5 RMI的替選方案
15.9 總結(jié)
15.10 練習(xí)
第16章 設(shè)計范式
16.1 范式的概念
16.1.1 單子
16.1.2 范式分類
16.2 觀察器范式
16.3 模擬垃圾回收站
16.4 改進設(shè)計
16.4.1 “制作更多的對象”
16.4.2 用于原型創(chuàng)建的一個范式
16.5 抽象的應(yīng)用
16.6 多重派遣
16.7 訪問器范式
16.8 RTTI真的有害嗎?
16.9 總結(jié)
16.10 練習(xí)
第17章 項目
17.1 文字處理
17.1.1 提取代碼列表
17.1.2 檢查大小寫樣式
17.2 方法查找工具
17.3 復(fù)雜性理論
17.4 總結(jié)
17.5 練習(xí)
附錄 A 使用非Java代碼
附錄 B C++和Java的對比
附錄 C Java編程規(guī)則
附錄 D 性能
附錄 E 關(guān)于垃圾收集的一些話
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載