標籤:-- 程式 style 使用 它的 資料 自動 round 不能
複用代碼,即使用已經開發並調試好的類。組合和繼承是兩種實現方法。
組合文法:
在新類中建立現有類的對象。該方法只是複用了現有代碼的功能,而非它的形式。
組合的例子隨處可見,這裡不舉例說明。但書中特意強調了toString方法。
每一個非基本類型的對象都有一個toString方法,因為每一個類都是繼承Object類而來的,而Object類中包含這個方法。具體需要注意的是,當你要將一個對象和字串串連的時候,編譯器會自動調用toString方法,當Object類中的toString方法不能滿足要求時,則需要重寫這個方法。
繼承文法:
繼承是所有OOP語言不可缺少的組成部分。當建立一個類時,總是在繼承,因為若沒有明確指出要從其他類中繼承,就預設從Java的標準根類Object進行繼承。
為了繼承,一般的規則是將所有的資料成員指定為private,所有的方法指定為public。雖然在特殊的情況下必須做出調整,但是這的確是一個很有用的規則。
當繼承類中有對基類中定義的方法修改時,欲調用基類的方法,必須加上super關鍵字,否則程式將產生遞迴。當然,繼承類同樣可以定義屬於自己的方法。
初始化基類:
當建立了一個匯出類的對象時,該對象包含了一個基類的子物件。這個子物件與直接建立的基類對象時一樣的。二者的卻別在於後者來自於外部,而前者來自於匯出類對象的內部。
1)無參構造器下的初始化
class Art {Art() {System.out.println("Art");}}class Drawing extends Art () {Drawing() {System.out.println("Drawing");}}public class Cartoon extends Drawing {public Cartoon() {System.out.println("Cartoon");}}/*Output:ArtDrawingCartoon*/
2)有參構造器
Thinking in Java第七章學習筆記----複用類