多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。
多態(tài)性是對(duì)象多種表現(xiàn)形式的體現(xiàn)。
比如我們說(shuō)"寵物"這個(gè)對(duì)象,它就有很多不同的表達(dá)或?qū)崿F(xiàn),比如有小貓、小狗、蜥蜴等等。那么我到寵物店說(shuō)"請(qǐng)給我一只寵物",服務(wù)員給我小貓、小狗或者蜥蜴都可以,我們就說(shuō)"寵物"這個(gè)對(duì)象就具備多態(tài)性。
接下來(lái)讓我們通過(guò)實(shí)例來(lái)了解Java的多態(tài)。
public interface Vegetarian{} public class Animal{} public class Deer extends Animal implements Vegetarian{}
因?yàn)镈eer類(lèi)具有多重繼承,所以它具有多態(tài)性。以上實(shí)例解析如下:
在Java中,所有的對(duì)象都具有多態(tài)性,因?yàn)槿魏螌?duì)象都能通過(guò)IS-A測(cè)試的類(lèi)型和Object類(lèi)。
訪(fǎng)問(wèn)一個(gè)對(duì)象的唯一方法就是通過(guò)引用型變量。
引用型變量只能有一種類(lèi)型,一旦被聲明,引用型變量的類(lèi)型就不能被改變了。
引用型變量不僅能夠被重置為其他對(duì)象,前提是這些對(duì)象沒(méi)有被聲明為final。還可以引用和它類(lèi)型相同的或者相兼容的對(duì)象。它可以聲明為類(lèi)類(lèi)型或者接口類(lèi)型。
當(dāng)我們將引用型變量應(yīng)用于Deer對(duì)象的引用時(shí),下面的聲明是合法的:
Deer d = new Deer(); Animal a = d; Vegetarian v = d; Object o = d;
所有的引用型變量d,a,v,o都指向堆中相同的Deer對(duì)象。
2015職稱(chēng)計(jì)算機(jī)考試書(shū)PowerPoint2007中 .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書(shū)籍 | |
2015年全國(guó)職稱(chēng)計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 |