一.繼承java
(一:類的繼承)ide
1.繼承的關鍵詞(extends)spa
例如: class B extends A {}
則表示B類繼承了A類對象
java僅支持"單一繼承"
繼承的好處: 實現代碼的重用。繼承
java.lang.Object是全部類的超類。
二、子類能夠繼承父類的哪些內容?
a、成員變量
b、成員方法
c、構造方法不能繼承
三、子類建立對象時,會調用父類的構造方法嗎?構造方法的調用順序?
會調用父類的構造方法。
先調用父類的構造方法,再調用子類的構造方法
四、子類能夠有本身擴展的屬性和方法?
能夠。
父類中存放的是全部子類共有的屬性和方法 。 所以 父類更加通用。
子類除了繼承父類的屬性和方法外,還能夠有本身擴展的屬性和方法,所以子類更具體。
5 繼承關係中的父類如何獲得?
類:具備相同屬性和方法的一組對象"抽象"而得
父類:具備大量相同代碼(屬性和方法)一組類的」抽象"
子類和父類之間存在 is -a 的關係內存
(二:方法的覆蓋)class
一、什麼是方法重寫?
在子類中定義了一個與父類相同的方法 ==》子類覆蓋了父類的方法,或子類重寫了父類的方法
2、方法重寫的特色?
a、在繼承關係的子類中
b、子類的方法名和參數與父類的方法名和參數相同
c、子類中的方法的訪問權限不可低於父類的訪問權限
d、子類中的返回值類型與父類的返回值類型一致,或是父類方法返回值類型的子類類型
e、子類的方法不能聲明比父類更寬泛的異常
三、什麼時候方法重寫?
當父類中的方法不能知足子類功能的需求時,在子類中重寫父類中的方法
四、注意事項:變量
a) 子類重寫了父類的方法,子類對象調用方法時,調用子類重寫後的方法擴展
b) 子類中的方法的參數與父類不一樣,則不是方法重寫,而是在子類中構成了方法的重載。
能夠在子類方法不添加"@Override"驗證重寫的格式是否正確權限
c) 方法重寫僅對於成員方法,同時某些方法是不能重寫的
i. 私有的成員方法不能重寫
ii. 父類中的final方法不能重寫
iii. 父類中的靜態方法不能重寫
iv. 成員變量不存在重寫
(三:super關鍵字)
一、super是什麼?
super關鍵詞不是引用,super中存儲的不是內存地址,super指向的不是父類對象
super表明的是當前子類對象中的父類型特徵。
二、什麼時候使用
子類和父類中有相同名稱的屬性時,使用super.屬性名訪問父類的屬性
三、supe能夠用在什麼地方?
3.1 super在子類的成員方法中使用
super.屬性名:訪問的是父類中的屬性
super.方法名(參數):訪問的是父類中的成員方法
3.2 super能夠在子類的構造方法中使用,調用父類的構造方法。
語法:super(參數) 必須寫在子類構造方法的"第一行"