Java面向對象(三)

一.繼承java

(一:類的繼承)ide

1.繼承的關鍵詞(extendsspa

例如:  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(參數)  必須寫在子類構造方法的"第一行"

相關文章
相關標籤/搜索