東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫(kù)|最新更新|下載分類|排行榜

桌面主題教育相關(guān)素材下載字體下載外語(yǔ)學(xué)習(xí)高考考研建筑圖集高考作文書法字體桌面壁紙CAD圖紙考研素材

首頁(yè)硬件驅(qū)動(dòng)硬件教程 → Thinking In Java 4th(java編程思想第四版) pdf格式高清免費(fèi)版

Thinking In Java 4th(java編程思想第四版)

Thinking In Java 4th(java編程思想第四版)pdf格式高清免費(fèi)版

  • 大。1.9M
  • 語(yǔ)言:中文
  • 平臺(tái):WinAll
  • 更新:2015-01-16 10:23
  • 等級(jí):
  • 類型:書集教程
  • 網(wǎng)站:http://tipsywinegypsy.com
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國(guó)產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評(píng)論下載地址

相關(guān)推薦: java編程思想第四版pdf

    本節(jié)內(nèi)容小編為大家精選帶來(lái)的是pdf格式高清免費(fèi)版Thinking In Java 4th(java編程思想第四版),該電子版文檔資料共有688頁(yè),該第四版中文版thinking in java內(nèi)容完整,有需要的朋友可以點(diǎn)擊本文下方的下載地址進(jìn)行下載查閱!

    溫馨提示:

    本文檔為PDF格式文檔,因此需確保在閱讀之前你已經(jīng)安裝了PDF閱讀器,如果尚未安裝閱讀器,建議下載福昕PDF閱讀器或其他PDF閱讀器進(jìn)行安裝后閱讀。

    Thinking In Java 4th(java編程思想第四版)內(nèi)容節(jié)選

    ……

    2.4 新建數(shù)據(jù)類型:類

    如果說(shuō)一切東西都是對(duì)象,那么用什么決定一個(gè)“類”(Class)的外觀與行為呢?換句話說(shuō),是什么建立起了一個(gè)對(duì)象的“類型”(Type)呢?大家可能猜想有一個(gè)名為“type”的關(guān)鍵字。但從歷史看來(lái),大多數(shù)面向?qū)ο蟮恼Z(yǔ)言都用關(guān)鍵字“class”表達(dá)這樣一個(gè)意思:“我準(zhǔn)備告訴你對(duì)象一種新類型的外觀”。class 關(guān)鍵字太常用了,以至于本書許多地方并沒(méi)有用粗體字或雙引號(hào)加以強(qiáng)調(diào)。在這個(gè)關(guān)鍵字的后面,應(yīng)該跟隨新數(shù)據(jù)類型的名稱。例如:

    class ATypeName {/*類主體置于這里}

    這樣就引入了一種新類型,接下來(lái)便可用new 創(chuàng)建這種類型的一個(gè)新對(duì)象:

    ATypeName a = new ATypeName();

    在ATypeName 里,類主體只由一條注釋構(gòu)成(星號(hào)和斜杠以及其中的內(nèi)容,本章后面還會(huì)詳細(xì)講述),所以并不能對(duì)它做太多的事情。事實(shí)上,除非為其定義了某些方法,否則根本不能指示它做任何事情。

    2.4.1 字段和方法

    定義一個(gè)類時(shí)(我們?cè)?Java 里的全部工作就是定義類、制作那些類的對(duì)象以及將消息發(fā)給那些對(duì)象),可在自己的類里設(shè)置兩種類型的元素:數(shù)據(jù)成員(有時(shí)也叫“字段”)以及成員函數(shù)(通常叫“方法”)。其中,數(shù)據(jù)成員是一種對(duì)象(通過(guò)它的句柄與其通信),可以為任何類型。它也可以是主類型(并不是句柄)之一。如果是指向?qū)ο蟮囊粋(gè)句柄,則必須初始化那個(gè)句柄,用一種名為“構(gòu)建器”(第4 章會(huì)對(duì)此詳述)的特殊函數(shù)將其與一個(gè)實(shí)際對(duì)象連接起來(lái)(就象早先看到的那樣,使用new關(guān)鍵字)。但若是一種主類型,則可在類定義位置直接初始化(正如后面會(huì)看到的那樣,句柄亦可在定義位置初始化)。

    ……

    6. 菜單

    為菜單處理事件看起來(lái)受益于Java 1.1 版的事件模型,但Java 生成菜單的方法常常麻煩并且需要一些手工

    編寫代碼。生成菜單的正確方法看起來(lái)像資源而不是一些代碼。請(qǐng)牢牢記住編程工具會(huì)廣泛地為我們處理創(chuàng)

    建的菜單,因此這可以減少我們的痛苦(只要它們會(huì)同樣處理維護(hù)任務(wù)。。另外,我們將發(fā)現(xiàn)菜單不支持

    并且將導(dǎo)致混亂的事件:菜單項(xiàng)使用ActionListeners(動(dòng)作接收器),但復(fù)選框菜單項(xiàng)使用 ItemListeners

    (項(xiàng)目接收器)。菜單對(duì)象同樣能支持ActionListeners(動(dòng)作接收器),但通常不那么有用。一般來(lái)說(shuō),

    我們會(huì)附加接收器到每個(gè)菜單項(xiàng)或復(fù)選框菜單項(xiàng),但下面的例子(對(duì)先前例子的修改)演示了一個(gè)聯(lián)合捕捉

    多個(gè)菜單組件到一個(gè)單獨(dú)的接收器類的方法。正像我們將看到的,它或許不值得為這而激烈地爭(zhēng)論。

    //: MenuNew.java

    // Menus in Java 1.1

    import java.awt.*;

    import java.awt.event.*;

    public class MenuNew extends Frame {

    String[] flavors = { "Chocolate", "Strawberry",

    "Vanilla Fudge Swirl", "Mint Chip",

    "Mocha Almond Fudge", "Rum Raisin",

    "Praline Cream", "Mud Pie" };

    TextField t = new TextField("No flavor", 30);

    MenuBar mb1 = new MenuBar();

    Menu f = new Menu("File");

    Menu m = new Menu("Flavors");

    Menu s = new Menu("Safety");

    // Alternative approach:

    CheckboxMenuItem[] safety = {

    new CheckboxMenuItem("Guard"),

    new CheckboxMenuItem("Hide")

    };

    MenuItem[] file = {

    // No menu shortcut:

    new MenuItem("Open"),

    // Adding a menu shortcut is very simple:

    new MenuItem("Exit",

    new MenuShortcut(KeyEvent.VK_E))

    };

    // A second menu bar to swap to:

    MenuBar mb2 = new MenuBar();

    Menu fooBar = new Menu("fooBar");

    MenuItem[] other = {

    new MenuItem("Foo"),

    new MenuItem("Bar"),

    new MenuItem("Baz"),

    };

    // Initialization code:

    {

    ML ml = new ML();

    ……

    3. 程序列表的存取

    接下來(lái)的一系列方法是簡(jiǎn)單的訪問(wèn)器:directory()、filename()(注意方法可能與字段有相同的拼寫和大小寫形式)和 contents()。而 hasFile()用于指出這個(gè)對(duì)象是否包含了一個(gè)文件(很快就會(huì)知道為什么需要這個(gè))。

    最后三個(gè)方法致力于將這個(gè)代碼列表寫進(jìn)一個(gè)文件——要么通過(guò)writePacked()寫入一個(gè)打包文件,要么通過(guò)writeFile()寫入一個(gè)Java 源碼文件。writePacked()需要的唯一東西就是 DataOutputStream,它是在別的地方打開(kāi)的,代表著準(zhǔn)備寫入的文件。它先把頭信息置入第一行,再調(diào)用writeBytes()將contents(內(nèi)容)寫成一種“通用”格式。

    準(zhǔn)備寫Java 源碼文件時(shí),必須先把文件建好。這是用 IO.psOpen()實(shí)現(xiàn)的。我們需要向它傳遞一個(gè)File 對(duì)象,其中不僅包含了文件名,也包含了路徑信息。但現(xiàn)在的問(wèn)題是:這個(gè)路徑實(shí)際存在嗎?用戶可能決定將所有源碼目錄都置入一個(gè)完全不同的子目錄,那個(gè)目錄可能是尚不存在的。所以在正式寫每個(gè)文件之前,都要調(diào)用File.mkdirs()方法,建好我們想向其中寫入文件的目錄路徑。它可一次性建好整個(gè)路徑。

    4. 整套列表的包容

    以子目錄的形式組織代碼列表是非常方便的,盡管這要求先在內(nèi)存中建好整套列表。之所以要這樣做,還有另一個(gè)很有說(shuō)服力的原因:為了構(gòu)建更“健康”的系統(tǒng)。也就是說(shuō),在創(chuàng)建代碼列表的每個(gè)子目錄時(shí),都會(huì)加入一個(gè)額外的文件,它的名字包含了那個(gè)目錄內(nèi)應(yīng)有的文件數(shù)目。

    DirMap類可幫助我們實(shí)現(xiàn)這一效果,并有效地演示了一個(gè)“多重映射”的概述。這是通過(guò)一個(gè)散列表(Hashtable)實(shí)現(xiàn)的,它的“鍵”是準(zhǔn)備創(chuàng)建的子目錄,而“值”是包含了那個(gè)特定目錄中的SourceCodeFile 對(duì)象的Vector 對(duì)象。所以,我們?cè)谶@兒并不是將一個(gè)“鍵”映射(或?qū)?yīng))到一個(gè)值,而是通過(guò)對(duì)應(yīng)的Vector,將一個(gè)鍵“多重映射”到一系列值。盡管這聽(tīng)起來(lái)似乎很復(fù)雜,但具體實(shí)現(xiàn)時(shí)卻是非常簡(jiǎn)單和直接的。大家可以看到,DirMap類的大多數(shù)代碼都與向文件中的寫入有關(guān),而非與“多重映射”有關(guān)。與它有關(guān)的代碼僅極少數(shù)而已。

    可通過(guò)兩種方式建立一個(gè)DirMap(目錄映射或?qū)?yīng))關(guān)系:默認(rèn)構(gòu)建器假定我們希望目錄從當(dāng)前位置向下展開(kāi),而另一個(gè)構(gòu)建器讓我們?yōu)槠鹗寄夸浿付ㄒ粋(gè)備用的“絕對(duì)”路徑。

    add()方法是一個(gè)采取的行動(dòng)比較密集的場(chǎng)所。首先將directory()從我們想添加的SourceCodeFile 里提取出來(lái),然后檢查散列表(Hashtable),看看其中是否已經(jīng)包含了那個(gè)鍵。如果沒(méi)有,就向散列表加入一個(gè)新的Vector,并將它同那個(gè)鍵關(guān)聯(lián)到一起。到這時(shí),不管采取的是什么途徑,Vector 都已經(jīng)就位了,可以將它提取出來(lái),以便添加SourceCodeFile。由于 Vector可象這樣同散列表方便地合并到一起,所以我們從兩方面都能感覺(jué)得非常方便。

    ……

    Thinking In Java 4th(java編程思想第四版)相關(guān)內(nèi)容小編就為大家介紹到這里了,更多pdf格式文檔資料下載,敬請(qǐng)關(guān)注東坡下載站!

    PC官方
    安卓官方手機(jī)版
    IOS官方手機(jī)版

    Thinking In Java 4th(java編程思想第四版)截圖

    下載地址

    Thinking In Java 4th(java編程思想第四版) pdf格式高清免費(fèi)版

    熱門評(píng)論
    最新評(píng)論
    發(fā)表評(píng)論 查看所有評(píng)論(0)
    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)

    編輯推薦

    本類軟件排行

    報(bào)錯(cuò)

    請(qǐng)簡(jiǎn)要描述您遇到的錯(cuò)誤,我們將盡快予以修正。

    轉(zhuǎn)帖到論壇
    輪壇轉(zhuǎn)帖HTML方式

    輪壇轉(zhuǎn)帖UBB方式