国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java系列學習(九)-多態

2019-11-15 00:01:34
字體:
來源:轉載
供稿:網友
java系列學習(九)-多態

1.final關鍵字

(1)最終的意思, 可以修飾類,方法,變量

(2)特點:

A:它修飾的類,不能被繼承

image

B:它修飾的方法,不能被重寫(覆蓋)

image

C:它修飾的變量,這個變量其實是一個常量

【擴展】

①字面量常量:“hello”,10 , true

②自定義常量:final int x = 10;

image

(3)final面試相關:

A:final修飾局部變量的問題

①基本類型:基本類型的值不能發生改變

image

②引用類型:引用類型的地址值不能改變,但是,該對象的堆內存的值是可以改變的

image

B:初始化時間:

①只能賦值一次

②常見的賦值

imageimage

2.多態

(1)同一個對象在不同的時刻 體現出來得到不同狀態

(2)多態的前提:

A:有繼承 或者 實現關系

B:有方法重寫

C:有父類 或者 父接口引用指向子類對象

(3)多態的分類

A:具體類多態

B:抽象類多態

C:接口多態

(4)多態中的成員訪問特點

A:成員變量

【編譯看左邊,運行看左邊】

image

B:構造方法

【子類的構造都會默認訪問父類構造】

創建子類對象的時候,會先訪問父類的構造方法,對父類的數據進行初始化

C:成員方法

【編譯看左邊,運行看右邊】

image

D:靜態方法

【編譯看左邊,運行看左邊】

image

E:為什么?

【因為成員方法有重寫,靜態方法與類相關】

(5)多態的好處

A:提高代碼的維護性(繼承體現)

B:提高代碼的擴展性(多態體現)

(6)多態的弊端:

父類不能使用子類的特有功能

表現:子可以當作父使用,父不能當作子使用

(7)多態中的轉型

A:向上轉型(從子到父)

【Person p = new Student()】

B:向下轉型(從父到子)

【Student s = (Student)p】

3.抽象類

(1)舉個例子來理解抽象類

貓和狗都是動物,根據繼承我們提取一個父類Animal,貓和狗都會叫,也就是它們的共性,

就可以在Animal類中定義,一個叫的方法。但是問題來了,

貓是喵喵叫,狗是汪汪叫,在父類的方法體,該如何寫。

我們可以在Animal中只定義了一個叫的方法,但沒有方法體,讓子類來實現具體的方法。

這里這個沒有方法體的方法就叫做抽象方法,這個類就叫做抽象類

(2)抽象類的特點

A:抽象類和抽象方法必須用關鍵字 abstract修飾

B:抽象類中不一定有抽象方法,但是有抽象方法的類一定是抽象類

C:抽象類不能實例化,要靠子類來實現

D:抽象類的子類

①是一個抽象類

②是一個具體類,這個類必須重寫抽象類的所有抽象方法

(3)抽象類的成員特點:

A:成員變量

【有變量,有常量】

B:構造方法

【有構造方法】

C:成員方法

【有抽象,有非抽象】

D:舉例

image

(4)抽象類的幾個小問題

A:抽象類與構造方法,不能實例化,那么構造方法有什么用?

用于子類訪問父類數據的初始化

B:一個類如果沒有抽象方法,卻定義為抽象類,有什么用

為了不讓創建對象

C:abstract不能和哪些關鍵字共存

①final 沖突 

PRivate 沖突

③static 無意義

4.接口

(1)通過例子來理解接口

飛機和小鳥都會飛,但他們屬于不同的東西,所以不能用抽象類,

但他們又都有 飛 這個功能,這個時候就可以考慮用接口了

(2)接口的特點:

A:接口用關鍵字interface修飾

B:類實現接口用implements修飾

C:接口不能實例化

D:接口的實現類

①是一個抽象類

②是一個具體類

image

(3)接口得到成員特點

A:成員變量

【只能是常量,默認修飾符:public static final】

B:構造方法

【沒有構造方法】

問:如果沒有父類,那實現接口的子類,怎么初始化父類的成員

答:image

C:成員方法

【只能是抽象的,默認修飾符public abstract】

image

(4)類與類,類與接口,接口與接口

A:類與類:繼承關系 ,只能單繼承,可以多層繼承

B:類與接口:實現關系,可以當實現,也可以多實現。并且還可以在繼承一個類的同事實現多個接口

C:接口與接口:繼承關系,可以單繼承,也可以多繼承

image

(5)什么時候用抽象類,什么時候用接口

A:抽象類 被繼承體現的是:xx is  a XX 的關系。抽象類中定義的是該繼承體系的共性功能。

B:接口 被是實現體現的時候:xx like a XX 的關系。接口中定義的是該繼承體系的擴展功能。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天台县| 武宣县| 海伦市| 永川市| 成安县| 武清区| 云南省| 合山市| 木里| 攀枝花市| 西青区| 汽车| 万全县| 特克斯县| 万全县| 噶尔县| 黄梅县| 珠海市| 张家港市| 安福县| 江川县| 博湖县| 科尔| 眉山市| 汉川市| 桐城市| 新竹县| 佛坪县| 宁远县| 吉林市| 兰州市| 长白| 汾阳市| 松阳县| 洪江市| 孝感市| 汪清县| 苗栗县| 沙雅县| 海晏县| 大渡口区|