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