java學習筆記-08

1:繼承
(1)把多個類中相同的成員給提取出來定義到一個獨立的類中,然後讓這多個類和該獨立的類產生一個關係,
  這多個類就具備了這些內容,這就叫繼承。
(2)表示繼承:
A:用extends表示
B:格式:
class 子類名 extends 父類名 {}
(3)繼承的好處:
A:提高了代碼的複用性
B:提高了代碼的維護性
C:讓類與類產生了一個關係,是多態的前提
(4)繼承的弊端:
A:讓類的耦合性增強。這樣某個類的改變,就會影響其他和該類相關的類。
     違背設計原則:低耦合,高內聚。
B:打破了封裝性
(5)Java中繼承的特點
A:Java中類只支持單繼承
B:Java中可以多層(重)繼承
(6)繼承的注意事項:
A:子類不能繼承父類的私有成員
B:子類不能繼承父類的構造方法,可以通過super去訪問
C:不要爲了部分功能而去繼承
(7)Java繼承中的成員關係
A:子類的方法訪問變量的查找順序:
在子類方法的局部範圍找,有就使用。
在子類的成員範圍找,有就使用。
在父類的成員範圍找,有就使用。
找不到,就報錯。
B:構造方法
a:子類的構造方法默認會去訪問父類的無參構造方法
是爲了子類訪問父類數據的初始化
b:父類中如果沒有無參構造方法:
子類通過super去明確調用帶參構造
C:成員方法
a:子類的成員方法和父類中的成員方法名稱一樣:
通過子類對象訪問一個方法的查找順序:
在子類中找,有就使用
在父類中找,有就使用
找不到,就報錯


2:final關鍵字
(1)特點:
A:它修飾的類,不能被繼承。
B:它修飾的方法,不能被重寫。
C:它修飾的變量,是一個常量。


3:多態
(1)同一個對象在不同時刻體現出來的不同狀態。
(2)多態的前提:
A:有繼承或者實現關係。
B:有方法重寫。
C:有父類或者父接口引用指向子類對象。
(3)多態中的成員訪問特點
A:成員變量
編譯看左邊,運行看左邊
B:構造方法
子類的構造都會默認訪問父類構造
C:成員方法
編譯看左邊,運行看右邊
D:靜態方法
編譯看左邊,運行看左邊
(4)多態的好處:
A:提高代碼的維護性
B:提高代碼的擴展性
(5)多態的弊端:
父不能使用子的特有功能。
(6)多態中的轉型
A:向上轉型
從子到父
B:向下轉型
從父到子



4:抽象類
(1)在一個類中如果有抽象方法,該類必須定義爲抽象類。
(2)抽象類的特點
A:抽象類和抽象方法必須用關鍵字abstract修飾
B:抽象類中不一定有抽象方法,但是有抽象方法的類一定是抽象類
C:抽象類不能實例化
D:抽象類的子類
a:是一個抽象類。
b:是一個具體類:這個類必須重寫抽象類中的所有抽象方法。
(3)抽象類的成員特點:
A:成員變量
有變量,有常量
B:構造方法
有構造方法
C:成員方法
有抽象,有非抽象

(5)抽象類的幾個小問題
A:抽象類有構造方法,不能實例化,那麼構造方法有什麼用?
用於子類訪問父類數據的初始化
B:一個類如果沒有抽象方法,卻定義爲了抽象類,有什麼用?
爲了不讓創建對象
C:abstract不能和哪些關鍵字共存
a:final 衝突
b:private 衝突
c:static 無意義





5:接口
(1)接口的特點:
A:接口用關鍵字interface修飾
interface 接口名 {}
B:類實現接口用implements修飾
class 類名 implements 接口名 {}
C:接口不能實例化
D:接口的實現類
a:是一個抽象類。
b:是一個具體類,這個類必須重寫接口中的所有抽象方法
(3)接口的成員特點:
A:成員變量
只能是常量
默認修飾符:public static final
B:構造方法
沒有構造方法
C:成員方法
只能是抽象的
默認修飾符:public abstract
(4)類與類,類與接口,接口與接口
A:類與類
繼承關係,只能單繼承,可以多層繼承
B:類與接口
實現關係,可以單實現,也可以多實現。
還可以在繼承一個類的同時,實現多個接口
C:接口與接口
繼承關係,可以單繼承,也可以多繼承
(5)抽象類和接口的區別?
A:成員區別
抽象類:
接口:
B:關係區別:
類與類:
類與接口:
接口與接口:
C:設計理念不同
抽象類:抽象類中定義的是共性功能。
接口:接口中定義的是擴展功能。

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