7複用類-Java編程思想

複用主要有兩種形式:組合和繼承。新的類是由現有的類的對象組成;用現有類的形式添加新代碼。 

對於繼承需要額外注意的是,子類繼承了父類,當new子類的時候,父類的構造器會被調用。

判斷是使用組合還是繼承的時候,思考是否需要從新類向基類向上轉型。

final關鍵字:通常指的是這是無法改變的。不想改變出於兩個目的:設計和效率。

final數據:很多編程語言都有某種方法,來向編輯器告知數據是恆定不變的。例如永不改變的編譯時常量,例如運行時被初始化的值,不希望它發生改變。

對於編譯時常量,必須是基本數據類型,必須在定義時候賦值,用final關鍵字表示。

一個既是static又是final的域只佔有一段不能改變的存儲空間。既是static又是final的域需要用大寫表示。強調只有一份。

當對對象使用final而不是對基本數據類型使用final的時候,使引用不變,即一個引用被初始化指向一個對象,它無法指向另外一個對象。然而對象本身是可以被修改的。

Java允許存在空白final,聲明爲final但又沒有給定初值。但是在使用前必須初始化。這種方式提供了更多的靈活性。private final int j;然後把初始化過程放在構造器中。

final參數,在參數列表中以聲明的方式將參數指定爲final。在方法中無法更改參數所指向的對象。void with(final MethodA a){a=new MethodA()"//WRONG!

使用final方法的原因,把方法鎖定,防止任何繼承類修改含義,這是出於設計的考慮,確保繼承中方法不變,不會被覆蓋。類中所有的private方法都隱式,由於無法取用private,所以也就無法覆蓋。

如果某個方法是private,它就不是類的接口的一部分。它只是隱藏在類中的程序代碼。

final類,當某個類被整體定義爲final,就表明不打算繼承該類,不存在子類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章