Java語(yǔ)言允許某個(gè)類型的引用變量引用子類的實(shí)例,而且可以對(duì)這個(gè)引用變量進(jìn)行類型轉(zhuǎn)換。
創(chuàng)新互聯(lián)企業(yè)建站,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于成都網(wǎng)站建設(shè)、做網(wǎng)站中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
要有繼承;要有重寫;父類引用指向子類對(duì)象。多態(tài)引用類型有兩種方式:a. 編譯時(shí)多態(tài):方法的重載;b. 運(yùn)行時(shí)多態(tài):JAVA運(yùn)行時(shí)系統(tǒng)根據(jù)調(diào)用該方法的實(shí)例的類型來決定選擇調(diào)用哪個(gè)方法則被稱為運(yùn)行時(shí)多態(tài)。
第一步:創(chuàng)建一個(gè)父類,如Animal(動(dòng)物) 類,這個(gè)方法中只有方法的定義,沒有實(shí)現(xiàn)。第二步:創(chuàng)建一個(gè)子類,如cat(貓)類,這個(gè)方法中實(shí)現(xiàn)父類中的所有方法,并進(jìn)行重寫。
有一個(gè)比較經(jīng)典的多態(tài)實(shí)例:有一個(gè)Animal類,它有Cat,和Dog兩個(gè)子類,在Animal中有個(gè)say方法,當(dāng)Cat調(diào)用這個(gè)方法的時(shí)候輸出的是“小貓喵喵喵”,當(dāng)Dog調(diào)用這個(gè)方法時(shí),輸出的是“小狗汪汪汪”,這就是Java多態(tài)的實(shí)現(xiàn)。
多態(tài)就是指一個(gè)引用變量倒底會(huì)指向哪個(gè)類的實(shí)例對(duì)象,該引用變量發(fā)出的方法調(diào)用到底是哪個(gè)類中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能決定。
運(yùn)行多態(tài):主要體現(xiàn)在OO設(shè)計(jì)的繼承性上,子類的對(duì)象也是父類的對(duì)象,即上溯造型,所以子類對(duì)象可以作為父類對(duì)象使用,父類的對(duì)象變量可以指向子類對(duì)象。
編譯多態(tài):主要是體現(xiàn)在重載,系統(tǒng)在編譯時(shí)就能確定調(diào)用重載函數(shù)的哪個(gè)版本。
多態(tài),我覺得它的作用就是用來將接口和實(shí)現(xiàn)分離開,改善代碼的組織結(jié)構(gòu),增強(qiáng)代碼的可讀性。在某些很簡(jiǎn)單的情況下,或許我們不使用多態(tài)也能開發(fā)出滿足我們需要的程序,但大多數(shù)情況,如果沒有多態(tài),就會(huì)覺得代碼極其難以維護(hù)。
java的多態(tài)是通過繼承、重寫、重載來實(shí)現(xiàn)的。同一個(gè)父類的多個(gè)子類,通過各自重寫繼承自父類的方法,實(shí)現(xiàn)子類實(shí)現(xiàn)父類方法的多態(tài)。而一個(gè)類中,相同的方法名可以通過不同的參數(shù)列表重載來顯示一個(gè)類中相同方法名的多態(tài)。
多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng),多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性,多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問題。
在JAVA中有兩種多態(tài)是指:運(yùn)行時(shí)多態(tài)和編譯時(shí)多態(tài)。多態(tài)性是面向?qū)ο蟮暮诵奶卣髦唬惖亩鄳B(tài)性提供類中成員設(shè)計(jì)的靈活性和方法執(zhí)行的多樣性。多態(tài)指允許不同類的對(duì)象對(duì)同一消息做出響應(yīng)。
多態(tài),我覺得它的作用就是用來將接口和實(shí)現(xiàn)分離開,改善代碼的組織結(jié)構(gòu),增強(qiáng)代碼的可讀性。以下是我對(duì)多態(tài)的小結(jié) Java中除了static和final方法外,其他所有的方法都是運(yùn)行時(shí)綁定的。
多態(tài),顧名思義就是具有很多種形態(tài),你可以聯(lián)想到一種物質(zhì)有很多種狀態(tài)、形態(tài),例如水,有氣態(tài)、液態(tài)、固態(tài),然后回歸到編程,假如我們需要編程來實(shí)現(xiàn)對(duì)水的質(zhì)量進(jìn)行計(jì)算,在假設(shè)質(zhì)量=密度*體積。
網(wǎng)頁(yè)標(biāo)題:java代碼體現(xiàn)多態(tài) 多態(tài) java代碼
標(biāo)題URL:http://jinyejixie.com/article2/dccogoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站內(nèi)鏈、定制網(wǎng)站、Google、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)