- 復用類的方法:
1、在新的類中產生現有類的對象,所以新的類由現有類的對象組成,這種方法為組合
2、按照現有類的類型來創建類,不改變現有類的形式,在現有類中添加新代碼,這種方法叫做繼承
一、繼承語法
關鍵字 extends,使用時會得到基類中所有的域和方法,即繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法
繼承需要符合的關系是:is-a,父類更通用,子類更具體。
繼承允許將對象視為它自己本身的類型或者基類型來加以處理,即向上轉型初始化基類
調用基類構造器來執行初始化。
java會自動在導出類的構造器中插入對基類構造器的調用帶參數的構造器
如果沒有默認的基類構造器,或者想調用一個帶參數的基類構造器,就必須用關鍵字super顯示的編寫調用基類構造器的語句
調用基類構造器必須是你在導出類構造器中要做的第一件事
二、final關鍵字
用到final的三種情況:數據、方法和類
1、final修飾的類不可以被繼承
final類中的所有方法都隱式的被指定為final,因為無法覆蓋它們
2、final修飾的方法不可以被覆蓋
3、final修飾的數據
1、為基本類型時,是一個常量。為引用類型時,使引用恒定不變,即無法更改指向的對象。
2、空白final:指聲明為final,但又未給定初值的域
無論什么情況,編譯器會確保空白final在使用前必須初始化。
3、final參數:這一特性主要用來向匿名內部類傳遞數據
當使用的數據不變時,需要定義閱讀性強的名稱來表示該數據,并將該數據final化。
名稱規范:所有字母大寫,當由多個單詞組成,需要通過_進行分隔。
三、初始化及類的加載
- 類的代碼在初次使用時加載,即創建第一個對象的時候加載。或者在訪問static域以及static方法的時候也會加載,以為類加載在內存中的位置和static域及方法加載的地方一樣,位于內存的數據區中。