可考慮用構建器執行初始化進程。這樣便可在編程時獲得更大的靈活程度,因為我們可以在運行期調用方法和采取行動,從而“現場”決定
在C中初始化數組極易出錯,而且相當麻煩。C++通過“集合初始化”使其更安全(注釋⑥)。Java則沒有象C++那樣的&ldq
在Java裡可以方便地創建多維數組: //: MultiDimArray.java// Creating multidimensiona
作為初始化的一種具體操作形式,構建器應使大家明確感受到在語言中進行初始化的重要性。與C++的程序設計一樣,判斷一個程序效率如何,關鍵是看是否由於變
“進行面向對象的設計時,一項基本的考慮是:如何將發生變化的東西與保持不變的東西分隔開。”這一點對於庫來說是特別重要的。那個
我們用import關鍵字導入一個完整的庫時,就會獲得“包”(Package)。例如:import java.util.*;
大家或許已注意到這樣一個事實:由於一個包永遠不會真的“封裝”到單獨一個文件裡面,它可由多個.class文件構成,所以局面可
掌握前述的知識後,接下來就可以開始創建自己的工具庫,以便減少或者完全消除重復的代碼。例如,可為System.out.println()創建一個別名
Java已取消的一種特性是C的“條件編譯”,它允許我們改變參數,獲得不同的行為,同時不改變其他任何代碼。Java之所以拋棄
針對類內每個成員的每個定義,Java訪問指示符poublic,protected以及private都置於它們的最前面——無
如果根本不指定訪問指示符,就象本章之前的所有例子那樣,這時會出現什麼情況呢?默認的訪問沒有關鍵字,但它通常稱為“友好”(F
使用public關鍵字時,它意味著緊隨在public後面的成員聲明適用於所有人,特別是適用於使用庫的客戶程序員。假定我們定義了一個名為desser
private關鍵字意味著除非那個特定的類,而且從那個類的方法裡,否則沒有人能訪問那個成員。同一個包內的其他成員不能訪問private成員,這使其
protected(受到保護的)訪問指示符要求大家提前有所認識。首先應注意這樣一個事實:為繼續學習本書一直到繼承那一章之前的內容,並不一定需要先理
我們通常認為訪問控制是“隱藏實施細節”的一種方式。將數據和方法封裝到類內後,可生成一種數據類型,它具有自己的特征與行為。但
在Java中,亦可用訪問指示符判斷出一個庫內的哪些類可由那個庫的用戶使用。若想一個類能由客戶程序員調用,可在類主體的起始花括號前面某處放置一個pu
對於任何關系,最重要的一點都是規定好所有方面都必須遵守的界限或規則。創建一個庫時,相當於建立了同那個庫的用戶(即“客戶程序員&rdqu
(1) 用public、private、protected以及“友好的”數據成員及方法成員創建一個類。創建屬於這個類的一個
“Java引人注目的一項特性是代碼的重復使用或者再生。但最具革命意義的是,除代碼的復制和修改以外,我們還能做多得多的其他事情。&rdq
就以前的學習情況來看,事實上已進行了多次“合成”操作。為進行合成,我們只需在新類裡簡單地置入對象句柄即可。舉個例子來說,假