到目前為止,大家已接觸了對內部類的運作進行描述的大量語法與概念。但這些並不能真正說明內部類存在的原因。為什麼Sun要如此麻煩地在Java 1.1裡
構建器調用的順序已在第4章進行了簡要說明,但那是在繼承和多形性問題引入之前說的話。用於基礎類的構建器肯定在一個衍生類的構建器中調用,而且逐漸向上鏈
通過“合成”方法創建新類時,永遠不必擔心對那個類的成員對象的收尾工作。每個成員都是一個獨立的對象,所以會得到正常的垃圾收集
構建器調用的分級結構(順序)為我們帶來了一個有趣的問題,或者說讓我們進入了一種進退兩難的局面。若當前位於一個構建器的內部,同時調用准備構建的那個對
學習了多形性的知識後,由於多形性是如此“聰明”的一種工具,所以看起來似乎所有東西都應該繼承。但假如過度使用繼承技術,也會使
學習繼承時,為了創建繼承分級結構,看來最明顯的方法是采取一種“純粹”的手段。也就是說,只有在基礎類或“接口&r
由於我們在上溯造型(在繼承結構中向上移動)期間丟失了具體的類型信息,所以為了獲取具體的類型信息——亦即在分級結構中向下移動
多形性”意味著“不同的形式”。在面向對象的程序設計中,我們有相同的外觀(基礎類的通用接口)以及使用那個外觀的不
“如果一個程序只含有數量固定的對象,而且已知它們的存在時間,那麼這個程序可以說是相當簡單的。”通常,我們的程序需要根據程序
■《Java in a Nutshell:A Desktop Quick Reference,第2版》作者:David Flanagan出版社:O
對數組的大多數必要的介紹已在第4章的最後一節進行。通過那裡的學習,大家已知道自己該如何定義及初始化一個數組。對象的容納是本章的重點,而數組只是容納
無論使用的數組屬於什麼類型,數組標識符實際都是指向真實對象的一個句柄。那些對象本身是在內存“堆”裡創建的。堆對象既可&ld
假定我們現在想寫一個方法,同時不希望它僅僅返回一樣東西,而是想返回一系列東西。此時,象C和C++這樣的語言會使問題復雜化,因為我們不能返回一個數組
現在總結一下我們前面學過的東西:為容納一組對象,最適宜的選擇應當是數組。而且假如容納的是一系列基本數據類型,更是必須采用數組。在本章剩下的部分,大
使用Java集合的“缺點”是在將對象置入一個集合時丟失了類型信息。之所以會發生這種情況,是由於當初編寫集合時,那個集合的程
在任何集合類中,必須通過某種方法在其中置入對象,再用另一種方法從中取得對象。畢竟,容納各種各樣的對象正是集合的首要任務。在Vector中,addE
Vector的用法很簡單,這已在前面的例子中得到了證明。盡管我們大多數時候只需用addElement()插入對象,用elementAt()一次提取
BitSet實際是由“二進制位”構成的一個Vector。如果希望高效率地保存大量“開-關”信息,就
Stack有時也可以稱為“後入先出”(LIFO)集合。換言之,我們在堆棧裡最後“壓入”的東西將是以
Vector允許我們用一個數字從一系列對象中作出選擇,所以它實際是將數字同對象關聯起來了。但假如我們想根據其他標准選擇一系列對象呢?堆棧就是這樣的