Java利用接口(interface)擴展了抽象方法的概念。經(jīng)常需要指定一組抽象方法來定義一個對象的某種行為,而且根本不希望做任何實現(xiàn)。在Java中,這就稱為一個接口。接口定義了類所必須實現(xiàn)(implement)的一組方法。如果Java中的一個類實現(xiàn)...[繼續(xù)閱讀]
海量資源,盡在掌握
Java利用接口(interface)擴展了抽象方法的概念。經(jīng)常需要指定一組抽象方法來定義一個對象的某種行為,而且根本不希望做任何實現(xiàn)。在Java中,這就稱為一個接口。接口定義了類所必須實現(xiàn)(implement)的一組方法。如果Java中的一個類實現(xiàn)...[繼續(xù)閱讀]
包(package)是一組相關(guān)的類和接口。在第三章中,我們曾經(jīng)討論了Java如何使用包名從而在編譯和運行時找到類。從這個意義上說,包有些類似于庫;它們對各組類進行組織和管理。不過,包所提供的絕不僅僅是源代碼級的組織。它們還為其...[繼續(xù)閱讀]
面向?qū)ο笤O(shè)計的一個最為重要的方面就是數(shù)據(jù)隱藏(datahiding),或封裝(encapsulation)。在某些方面,通過將對象看作為一個“黑盒”,并忽略其實現(xiàn)的細(xì)節(jié),這樣利用可以輕松重用的組件就能夠編寫出更為強大、更為簡單的代碼。基本訪問修...[繼續(xù)閱讀]
在第四章的最后,我們曾提到,數(shù)組在Java的類層次體系結(jié)構(gòu)中也有一席之地,但是并未提供任何詳細(xì)說明。既然已經(jīng)討論了Java的面向?qū)ο蠓矫?下面就可以提供一個完整的描述了。數(shù)組類位于Object類之下,并且有著并行的Java類層次體系結(jié)...[繼續(xù)閱讀]
Java1.1為在語言中增加了大量的“迷藥”,它們稱為內(nèi)部類(innerclass)。簡單地說,Java中的類可以在任何范圍級別上聲明。也就是說,可以在任何大括號對之間聲明一個類(即,只要能夠放置其他的Java語句,就可以聲明一個類),而且其可見性僅...[繼續(xù)閱讀]
java.lang.Object是所有對象的祖先;這是一個“始發(fā)”類,所有其他類歸根結(jié)底都由此派生。因此在Object類中定義的方法就非常重要,因為貫穿Java始終,它們出現(xiàn)在每個類的每個實例中。據(jù)最后統(tǒng)計,在Object中有9個公共方法。其中5個是各種...[繼續(xù)閱讀]
要衡量一種面向?qū)ο笳Z言的復(fù)雜性,其類結(jié)構(gòu)的抽象程度可謂是一個不錯的標(biāo)準(zhǔn)。我們知道,Java中每個對象都是一個類的實例,但是究竟什么是類呢?在諸如C++這樣的語言中,對象由類表述并進行實例化,而類實際上只是編譯器憑空所造的...[繼續(xù)閱讀]
這一節(jié)中,我們將對Java反射API(JavaReflectionAPI)加以介紹,這些API由java.lang.reflect包中的類所支持。如其名所示,反射(reflection)是一個類或?qū)ο笞晕覚z查的一種能力。反射使得Java代碼可以查看一個對象(更確切地說,是查看對象的類),并確定...[繼續(xù)閱讀]
從概念上說,線程(thread)是程序中的一個控制流。線程有些類似于我們熟悉的進程(process)概念,其區(qū)別在于同一個應(yīng)用中的多個線程會共享許多相同的狀態(tài),特別是它們運行于同一個地址空間。這與一個高爾夫球道并無不同,許多高爾夫...[繼續(xù)閱讀]
applet是內(nèi)嵌式的Java應(yīng)用,它們可以基于命令自行啟動和停止。applet可能會要求啟動和停止任意次。支持Java的Web瀏覽器通常會在顯示applet時將其啟動,而且當(dāng)用戶切換到另一個頁面或者(從理論上說)用戶滾動applet以至于超出可視區(qū)之外...[繼續(xù)閱讀]