1:final關鍵字A:它修飾的類,不能被繼承。B:它修飾的方法,不能被重寫。C:它修飾的變量,是一個常量。在局部變量中:a:基本類型 值不能發生改變 b:引用類型地址值不能發生改變,但是對象的內容是可以改變的
2:多態(1)同一個對象在不同時刻體現出來的不同狀態。(2)多態的前提:A:有繼承或者實現關系。B:有方法重寫。C:有父類或者父接口引用指向子類對象。(3)多態的分類:a:具體類多態class Fu {}class Zi extends Fu {}Fu f = new Zi();b:抽象類多態abstract class Fu {}class Zi extends Fu {}Fu f = new Zi();c:接口多態interface Fu {}class Zi implements Fu {}Fu f = new Zi();
(4)多態中的成員訪問特點A:成員變量編譯看左邊,運行看左邊B:構造方法子類的構造都會默認訪問父類構造C:成員方法編譯看左邊,運行看右邊(方法重寫)D:靜態方法編譯看左邊,運行看左邊(5)多態的好處:A:提高代碼的維護性(繼承體現)B:提高代碼的擴展性(多態體現)
(6)多態的弊端:父不能使用子的特有功能。
(7)多態中的轉型
向上轉型:
Fu f = new Zi();
向下轉型:
Zi z = (Zi)f; //要求該f必須是能夠轉換為Zi的。
ClassCastException:類型轉換異常,一般出現在多態向下轉型中。Dog dd = (Dog)a;(a是cat)
3:抽象類抽象類的特點A:抽象類和抽象方法必須用關鍵字abstract修飾B:抽象類中不一定有抽象方法(沒有方法體),但是有抽象方法的類一定是抽象類C:抽象類不能實例化(new)(抽象類有構造方法,不能實例化,用于子類訪問父類數據的初始化)
D:抽象類的子類:a:是一個抽象類。 b:是一個具體類。這個類必須重寫抽象類中的所有抽象方法。 abstract不能和哪些關鍵字共存a:final 沖突b:PRivate 沖突c:static 無意義
4.接口
(1)接口的特點:A:接口不能實例化B:接口的實現類a:是一個抽象類。b:是一個具體類,這個類必須重寫接口中的所有抽象方法。(3)接口的成員特點:A:成員變量只能是常量,并且是靜態的默認修飾符:public static finalB:構造方法:沒有構造方法C:成員方法:只能是抽象的,默認修飾符:public abstract
所有的類都默認繼承自一個類:Object。(4)類與類,類與接口,接口與接口A:類與類:繼承關系,只能單繼承,可以多層繼承B:類與接口:實現關系,可以單實現,也可以多實現。還可以在繼承一個類的同時,實現多個接口C:接口與接口:繼承關系,可以單繼承,也可以多繼承(5)抽象類和接口的區別:
A:成員區別抽象類:成員變量:可以變量,也可以常量構造方法:有成員方法:可以抽象,也可以非抽象接口:成員變量:只可以常量成員方法:只可以抽象B:關系區別類與類繼承,單繼承類與接口實現,單實現,多實現接口與接口繼承,單繼承,多繼承 C:設計理念區別抽象類 被繼承體現的是:”is a”的關系。抽象類中定義的是該繼承體系的共性功能。接口 被實現體現的是:”like a”的關系。接口中定義的是該繼承體系的擴展功能。新聞熱點
疑難解答