8 抽象類 介面 多型 向上轉型 向下轉型

2021-09-25 13:14:48 字數 1172 閱讀 6046

一、final關鍵字:

1、可以修飾變數、方法、類

2、修飾變數時,變數的值不能再改變,成為乙個常量

3、修飾方法時,被修飾的方法不能被修改

4、修飾類時,這個類不能被繼承,並且類中的成員方法會隱式地被final修飾

5、當final修飾乙個引用型別時,此時這個引用型別變數指向的物件不能改變,不能再指向

其他物件,但指向的物件的內容可以改變。

二、abstract(抽象)修飾符:

1、可以修飾方法、類

2、被abstract修飾的方法在父類中不被實現,此抽象方法在子類中實現功能

3、被abstract修飾的類不能建立物件,類中可以宣告抽象方法,然後在子類

中實現這些抽象方法

三、介面:

1、介面可以看成是一種特殊的抽象類,用inte***ce修飾

語法結構:

[修飾符] inte***ce 介面名

2、介面之間是多繼承

語法結構:

[修飾符] inte***ce 介面名 extends 介面1,介面2,...,介面n

3、乙個類可以實現多個介面

語法結構:

[修飾符] class 類名 implements 介面1,介面2,...,介面n

四、向上轉型

1、向上轉型發生在繼承關係中

例:animal是父類,cat是子類

animal cat=new cat();//是指父類型別變數cat指向子類例項物件,子類的例項物件自動向上轉型為父類型別

2、向上轉型之後,cat失去了子類特有的屬性和方法

五、向下轉型

1、向下轉型與向上轉型相對,同樣發生在繼承關係中,向下轉型是強制轉型

例:animal是父類,cat是子類

animal cat=new cat();

cat cat2=(cat)cat;//把cat強轉為cat型別並賦給cat2

2、向下轉型後,cat2也可以訪問子類的特有屬性和方法

六、多型

乙個事物的多種形態

關於抽象類和介面向上轉型

抽象類的出現,只要是為了規範子類的方法的命名,抽象類不能建立物件,是因為抽象類中含有抽象方法,所以抽象類是不完整的,假若抽象類可以建立物件的話,建立出來的物件要呼叫抽象類的方法,而抽象方法無調調用,就會出錯,所以抽象類無法建立物件。介面類的出現原因和抽象類差不多,但是抽象類和介面還是有很大的差別的,...

多型 抽象類 介面

抽象類介面 什麼是多型?同乙個物件,在不同時刻表現出來的不同形態 1.有繼承 實現的前提 2.有方法的重寫 3.有父類引用指向子類物件 例 animal a new cat 成員變數訪問 父類中有的屬性,才能正常編譯 編譯看左邊 如子類也有相同屬性,訪問執行出來的是父類中的屬性值 成員方法訪問 父類...

多型 抽象類 介面

同一物件,在不同時刻表現出來的不同形態 多型的前提和實現 有繼承 實現關係 有方法重寫 有父類引用指向子類物件 多型中成員訪問特點 成員變數 編譯看左邊,執行看左邊 成員方法 便宜看左邊,執行看右邊 為什麼成員方法和成員變數的訪問不一樣呢?因為成員方法有重寫,而成員變數沒有 多型的好處和弊端 好處 ...