1:為了繼承,一般的規則是將所有的資料成員指定為private,所有的方法指定為public
2:當建立乙個子類物件時,該物件隱式的包含乙個父類物件的引用super
3:當有繼承時,構造器的初始化順序是先父類後子類,如果有有引數的構造方法,應當手動super(引數)呼叫父類的構造器。
4:復用一般有三種方式,一種是繼承,繼承不要多用,除非有父類引用指向子類物件的時候,組合是一種常用的構造新類的方式,組合常常是設計者想要使用現有類的功能,卻不提供介面。新類的使用者看到的是為新類定義的介面。**是繼承和組合的中庸之道,設計者想要提供父類的大多數介面,但是又不想讓子類物件可以直接操作,於是就有了在新類中包含乙個父類物件(組合的表現),在內部讓父類物件來操作父類的方法,多了乙個中間層,可能子類也提供父類的介面,或者提供父類介面的子集。
5:父類引用指向子類物件是一種向上轉型,也是執行時多型的體現。
6:final關鍵字可用於修飾資料,方法和類,用於修飾資料時代表不可變的資料,用於修飾方法時代表繼承時不可被覆蓋的方法(雖然自己寫的方法總不想被覆蓋,但真的可能別人的想法比你的好慎重)修飾類的時候代表此類不能夠被繼承。private關鍵字隱式的包含了final。
7:存在繼承時類的載入:構造子類物件前,先載入父類的位元組碼,於是就有了前面的已經提到的兩條初始化規則
a.類的成員變數會在方法呼叫前初始化(包括構造方法),靜態變數先按定義順序初始化,然後非靜態變數按定義順序初始化。
b.static塊會在呼叫建立物件或者呼叫靜態變數前初始化。
c.先初始化完所有靜態量,再初始化例項量。
java程式設計思想 復用類
1.組合 在類中引用新類 2.繼承 判斷是否使用繼承 需要向上轉型的時候 在繼承後引用構造子類時,會先呼叫基類的構造器,如果基類無構造器,則會為你合成乙個預設構造器 繼承中的覆蓋 重寫 3.package chapter7 使用 public class ster public void steri...
Java程式設計思想 07復用類
使用現有的類,合成新的類 has a 的關係 從現有的類中,派生出新的類,新類能吸收現有類的屬性和行為,並能擴充套件新的能力 is a 的關係 預設構造器 子類構造器中,會自動插入對父類構造器的呼叫 有參構造器 需要使用super,顯式插入對父類構造器的呼叫 class producer class...
筆記 Java程式設計思想 一復用類
1 組合與繼承 2 繼承會得到基類的所有欄位和方法 新類是基類的的一種型別 3 被繼承的類中,一般將資料成員指定為private,將方法指為public。4 super super.scrub 將呼叫基版本的scrub方法 5 用基類構造器初始化基類子物件 建立子類物件時,先呼叫基類構造器,再呼叫匯...