接之前内容……
编写主人喂宠物的方法Master:
方案一:编写方法,传入不同类型的动物,调用各自的方法
package java_ploy;public class Master {/**喂宠物* 喂猫咪:吃完东西后,主人会带着去玩线球* 喂狗狗:吃完东西后,主人会带着狗狗去睡觉* 养兔子、养鹦鹉、养乌龟……*///方案一:编写方法,传入不同类型的动物,调用各自的方法public void feed(Cat cat){cat.eat();cat.playBall();}public void feed(Dog dog){dog.eat();dog.sleep();}
}
编写测试代码:
package java_ploy;import java_ploy.Master;
import java_ploy.Cat;
import java_ploy.Dog;public class MasterTest {public static void main(String[] args) {Master master = new Master();Cat one = new Cat();Dog two = new Dog();master.feed(one);master.feed(two);}
}
输出:
猫吃鱼~
小猫喜欢玩线球
狗吃肉~
狗有午睡的习惯~
方案二:编写方法传入动物的父类,方法中通过类型转换,调用指定子类的方法
//方案二:编写方法传入动物的父类,方法中通过类型转换,调用指定子类的方法
public void feed(Animal obj){obj.eat(); //子类中对父类的eat方法进行了重写if(obj instanceof Cat){Cat temp = (Cat)obj;//temp.eat();temp.playBall();}else if(obj instanceof Dog){Dog temp = (Dog)obj;//temp.eat();temp.sleep();}
}
输出结果和方案一相同。
本文发布于:2024-01-31 19:18:30,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170669991030762.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |