第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

多態(tài)的問題

public class Demo {

? ? public static void main(String[] args){

? ? ? ? Master ma = new Master();

? ? ? ? ma.feed(new Animal(), new Food());

? ? ? ? ma.feed(new Cat(), new Bone());

? ? ? ? ma.feed(new Dog(), new Fish());

? ? }

}

class Animal{

? ? public void eat(Food f){

? ? ? ? System.out.println("我是一個小動物,正在吃" + f.getFood());

? ? }

}

class Cat extends Animal{

? ? public void eat(Food f){

? ? ? ? System.out.println("我是一只小貓咪,正在吃" + f.getFood());

? ? }

}

class Dog extends Animal{

? ? public void eat(Food f){

? ? ? ? System.out.println("我是一只狗狗,正在吃" + f.getFood());

? ? }

}

class Food{

? ? public String getFood(){

? ? ? ? return "事物";

? ? }

}

class Fish extends Food{

? ? public String getFood(){

? ? ? ? return "魚";

? ? }

}

class Bone extends Food{

? ? public String getFood(){

? ? ? ? return "骨頭";

? ? }

}

class Master{

? ? public void feed(Animal an, Food f){

? ? ? ? an.eat(f);

? ? }

}


正在回答

2 回答

Cat,Dog繼承于Animal,可以使用Animal類型的變量來引用Cat和Dog的對象,F(xiàn)ood類似。以ma.feed(new Cat(), new Bone());為例,feed(Animal an, Food f),an是Animal類型的變量,引用了Cat的對象,即可以使用Cat對象中所有從Animal繼承的方法,而an實際引用的是Cat而不是Animal,所以調(diào)用方法時調(diào)用的就是Cat中的方法。Food的情況類似。

1 回復 有任何疑惑可以回復我~
#1

慕瓜7080925 提問者

非常感謝!
2016-07-24 回復 有任何疑惑可以回復我~
#2

Smile丶微冷 回復 慕瓜7080925 提問者

不客氣~
2016-07-24 回復 有任何疑惑可以回復我~

有誰能解釋一下怎么實現(xiàn)的

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531214    人
  • 解答問題       6327    個

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進入課程

多態(tài)的問題

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號