這篇文章主要介紹Java中多態(tài)有什么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站于2013年開始,先為印臺(tái)等服務(wù)建站,印臺(tái)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為印臺(tái)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、多態(tài)
多態(tài)分為兩種:(1)引用的多態(tài)、(2)方法的多態(tài)
引用的多態(tài):
父類的引用可以指向本類的對(duì)象;
父類的引用可以指向子類的對(duì)象;
注意:子類的對(duì)象不可以指向父類的對(duì)象,如下圖所示
方法的多態(tài):
創(chuàng)建本類對(duì)象時(shí),調(diào)用的方法為本類的方法;
創(chuàng)建子類對(duì)象時(shí),調(diào)用的方法為子類重寫的方法或者繼承的方法;
注意:父類的引用調(diào)用的方法不能是子類獨(dú)有的方法,必須是從父類繼承的方法或重寫父類的方法。、
二、多態(tài)中的引用類型轉(zhuǎn)換
1、向上類型轉(zhuǎn)換(隱式/自動(dòng)類型轉(zhuǎn)換),是小類型到大類型的轉(zhuǎn)換。不存在風(fēng)險(xiǎn)。
2、向下類型轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換),是大類型向小類型轉(zhuǎn)換。有風(fēng)險(xiǎn)。
3、instanceof運(yùn)算符,來解決引用對(duì)象的類型,避免類型轉(zhuǎn)換的安全問題。(animal instanceof Cat)
三、抽象類
1、抽象類前使用abstract關(guān)鍵字修飾,則該類為抽象類;
2、在某種情況下,某個(gè)父類只是知道某個(gè)子類應(yīng)該包含怎樣的方法,但無法準(zhǔn)確知道這些子類如何實(shí)現(xiàn)這些方法。
3、使用規(guī)則:
(1)abstract定義抽象類;
(2)abstract定義抽象方法,只有聲明,不需要實(shí)現(xiàn);
(3)包含抽象方法的類是抽象類;
(4)抽象類中可以包含普通方法,也可以沒有抽象方法;
(5)抽象類不能直接創(chuàng)建,可以定義引用變量;
4、抽象方法沒有方法體依分號(hào)結(jié)尾;
四、接口
1、接口的概念;一種特殊的類,由全局常量和公共的抽象的方法所組成;
2、類是一種具體實(shí)現(xiàn)體,而接口則定義了某一批類所需要遵守的規(guī)范,接口不關(guān)心這些類的內(nèi)部數(shù)據(jù),也不關(guān)心這些類里方法的實(shí)現(xiàn)細(xì)節(jié),它只規(guī)定這些類里必須提供某些方法;
3、定義接口用interface關(guān)鍵字;public (abstract) interface ,接口可以繼承多個(gè)父接口,這一點(diǎn)和類區(qū)分 ;
接口中定義的常量,即使定義時(shí)沒有添加public static final修飾符,系統(tǒng)也會(huì)自動(dòng)的添加;
接口中的方法總是抽象方法,即使定義的時(shí)候不添加public abstract,系統(tǒng)也會(huì)自動(dòng)加上;
4、可以用一個(gè)接口的引用指向一個(gè)實(shí)現(xiàn)了接口的對(duì)象
5、使用匿名內(nèi)部類實(shí)現(xiàn)接口——兩種方法
以上是“Java中多態(tài)有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱:Java中多態(tài)有什么用
網(wǎng)址分享:http://redsoil1982.com.cn/article38/jdghpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、用戶體驗(yàn)、虛擬主機(jī)、Google、面包屑導(dǎo)航、靜態(tài)網(wǎng)站
聲明:本網(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)