當前位置:編程學習大全網 - 腳本源碼 - JAVA多態調用

JAVA多態調用

別的地方看到的:

舉個例子,顯示鳥的飛行動作

對於八哥鳥,妳可以這樣new Myna().fly();

對於鸚鵡,妳可以這樣new Parrot().fly();

對於孔雀,妳可以這樣 new Peacock().fly();

。。。

對於每壹個具體的鳥,妳都必須調用具體的鳥類對象。

現在使用多態再來看看。

我們先寫壹個Bird類,用來抽取出鳥類的飛行動作。

public abstract class Bird {

public void fly() {

System.out.println("default bird fly!");

}

}

再寫具體的鳥類,繼承Bird類

class Parrot extends Bird {

@Override

public void fly() {

System.out.println("Parrot fly");

}

}

class Myna extends Bird {

@Override

public void fly() {

System.out.println("Myna fly");

}

}

現在再來看壹下八哥和鸚鵡的飛行動作。

public static void main(String args[]) {

Bird bird = new Parrot();

bird.fly();

bird = new Myna();

bird.fly();

}

這樣,同壹個Bird的實例對象實際對調用的是八哥和鸚鵡的飛行動作。

假如這樣還不清楚。那麽現在有壹個flyPerform()方法,顯示具體的鳥的飛行行為。

flyPerform(Bird bird){

bird.fly();

}

那麽妳就可以這樣

flyPerform(new Parrot());

flyPerform(new Myna());

假如現在又有了壹種新的鳥,NewBird那麽我們只需要將new NewBird作為參數傳入flyPerform方法即可,而不需要去修改這個方法的代碼。

這是壹個比較粗糙的例子,要不妳仔細琢磨看看?

對於這個推薦答案,我不是很認同,

在java裏面多態壹般指的是運行時多態,重載多態是通過方法簽名實現的,同壹個方法名,但是要求參數必須不壹樣,這個在編譯期間就可以確定調用的是哪個方法。

  • 上一篇:國內青春偶像電視劇
  • 下一篇:古代時期的瀘州是不是現在的瀘州啊?
  • copyright 2024編程學習大全網