這期內容當中小編將會給大家帶來有關java中面向對象的多態介紹,以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創新互聯公司專注于城子河網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供城子河營銷型網站建設,城子河網站制作、城子河網頁設計、城子河網站官網定制、小程序定制開發服務,打造城子河網絡公司原創品牌,更為您提供城子河網站排名全網營銷落地服務。多態的簡單理解:
student類繼承了Person類,則student類的對象既是student又是person類
多態性具有兩種展現的形式:
1.方法的多態性:
(1)方法的重載:同一個方法可以根據傳入的參數的類型或者個數的不同實現不同的功能
(2)方法的覆寫:同一個方法可能根據實現子類的不同有不同的實現
2.對象的多態性:
父類與子類實例之間的轉換處理
(1)對象向上轉型:父類 父類實例 =new 子類實例();自動完成轉換
(2)對象向下轉型:子類 子類實例 =new (子類)父類實例();強制完成轉換
多態的最終體現:
1.為父類引用變量可以指向子類對象
2.多態的前提是必須有子父類關系或者類實現接口關系,否則無法實現多態
3.在使用多態后的父類引用變量調用方法時,會調用子類重寫后的方法
多態的成員變量:
1.編譯的時候,參考父類中喲沒有這個變量,如果有就編譯成功,如果沒有就編譯失敗
2.運行的時候,運行的是父類中的變量值
成員變量編譯運行皆看父類
多態的成員方法:
1.編譯的時候,參考父類中有沒有這個方法,如果有就編譯成功,如果沒有就編譯失敗
2.運行的時候。運行的是子類的重寫方法
成員方法編譯看父類,運行看子類
對象的兩種轉型方式的理解:
1.對象向上轉型:
向上轉型之后,子類對象只能調用父類擁有的方法,不能調用子類獨自擁有的方法,通過向上轉型實現多態性的使用
2.對象向下轉型:
如果對象向上轉型之后想要使用子類獨有方法而父類沒有的方法,需要使用對象的向下轉型
代碼演示:
public class Person { public void Eat(){ //在person類中定義一個吃的抽象方法 } } public class Student extends Person{ public void Eat(){ System.out.println("學生吃學校食堂");//重寫父類中的抽象方法 } public void Learning() { System.out.println("學生在學習");//定義一個student類特有的方法 } } public class Test { public static void main(String[] args) { // TODO 自動生成的方法存根 Person p=new Student();//通過向上轉型定義一個p對象 p.Eat();//這是子父類共有的方法 p.Learning(); } }
在這個代碼中我們通過向上轉型調用了一個子類特有的方法,但是會提示如下圖:
父類中沒有定義Learning方法。但是我們又必須調用子類的特有的方法,此時就需要通過向下轉型來實現
補充代碼如下:
Student stu=(Student)p;//將p對象向下轉型實現方法調用 stu.Learning();
以上就是java中面向對象的多態介紹,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注創新互聯成都網站設計公司行業資訊,感謝各位的閱讀。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網頁標題:java中面向對象的多態介紹-創新互聯
網站路徑:http://vcdvsql.cn/article10/dsdsgo.html
成都網站建設公司_創新互聯,為您提供建站公司、自適應網站、App設計、網站建設、網站維護、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯