java面向对象多态特性
一、多態的概念
多態是繼封裝,繼承之后,面向對象的三大特性。
現實事物經常會體現出多種形態,如學生,學生是人的一種,則一個具體的張三同學既是學生也是人,即出現兩種形態。
java作為面向對象的語言,同樣可以描述一個事物的多種形態,java中多態的代碼體現在一個子類對象(實現類對象)既可以給這個子類(實現類對象)引用變量賦值,又可以給這個子類(實現類對象)的父類(接口) 變量賦值。
父類的引用變量指向子類對象。多態的前提需要有繼承關系或者是實現關系,否則沒法完成多態。在使用多態后的父類引用變量調用方法時,會調用子類重寫的;
二、多態的定義與使用
多態的定義格式:就是父類的引用變量指向子類的對象;
父類類型變量名 = new 子類對象();
變量名.方法名();
1.普通類的多態定義格式:
父類類型變量名 = new 子類();
2.抽象類多態的定義:
抽象類變量名 =new 抽象類子類();
3.接口多態定義的格式:
接口變量名 =new 接口實現類();
注意:雖然變量指向子類的對象,但表現的是一個父類的形態,可以調用一切父類的方法,子類特有的方法將不能調用
三、多態調用的注意事項:
編譯:成員變量,成員方法都需要看父類;父類沒有編譯報錯;
運行:成員變量運行父類的成員變量,成員方法運行父類重寫的方法
四、多態的好處與弊端
好處:多態配合繼承子類重寫,提高了代碼的復用性與擴展性
弊端:不能調用子類特有的方法
?
五、向上向下類型轉換
多態本身是子類類型向父類類型向上轉型的過程;
1.向上轉型:
當子類的對象賦值給一個父類的引用時,便是向上轉型,多態本身就是向上轉型的過程
使用格式:父類類型 變量名= new 子類類型();
2.向下轉型:
一個已經向上轉型的子類對象可以使用強制類型轉換的格式,將父類的引用轉換為子類引用,這個過程是向下轉型。直接創建父類對象的無法使用向下轉型;
使用格式:
子類類型 變量名= (子類類型) 父類類型的變量;
六、instanceof 關鍵字
可以通過instanceof關鍵字來判斷某個對象是否屬于某種數據類型;
使用格式:
boolean b= 對象(new ) instanceof 數據類型;
?為了讓學習變得輕松、高效,今天給大家免費分享一套Java教學資源。幫助大家在成為Java架構師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285,05736
總結
以上是生活随笔為你收集整理的java面向对象多态特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 让你脱胎成技术大神的JAVA开发技巧
- 下一篇: JAVA构架之并发编程的一些总结