5、繼承(extends)
阿新 • • 發佈:2017-05-17
重寫 抽取 出現 調用 必須 不同 設置 extends bstr
繼承主要目的是提高代碼的復用性,但是只有在類與類之間有所屬關系的時候才能繼承,不能為了獲取其他類的功能而繼承,Java中只有單繼承,不支持多繼承,但可以多層繼承
當父類中定義了相同的功能,內容不同時,子類對象不確定調用哪一個,容易帶來安全隱患,所以不支持多繼承。
一、方法的重寫
1、當子類和父類有一樣的方法時,對象會調用子類的方法,稱為方法的重寫
2、重寫父類方法時,方法必須一致,包括參數和返回值類型
3、只有子類的權限大於或等於父類時,才能對父類方法重寫
二、繼承中的構造方法
1、繼承後,子類可以直接調用父類的方法,所以子類對象建立時需要對父類的數據進行初始化
2、子類的構造函數中會默認調用父類中空參數的構造函數即 super(),當父類中沒有空參數的構造函數時,需要手動設置super()用來初始化父類數據
3、this()或super()只能放在構造函數的第一行,所以子類至少有一個構造函數訪問父類
三、抽象(abstract)
1、當多個類出現相同功能時,功能主題不同,這時可以向上抽取,只抽取定義,不抽取主題。
2、類與方法必須由關鍵字abstract修飾
3、抽象方法一定要放在抽象類中,但抽象類可以不定義抽象方法(不讓建立對象)
4、抽象類不可以建立對象,抽象的方法沒有意義
5、抽象類方法要使用需要子類,需用子類復寫父類所有抽象方法,建立子類對象使用,如果只復寫了部分抽象方法,則還是抽象類。
5、繼承(extends)