调用子类方法的两种方案

阅读: 评论:0

调用子类方法的两种方案

调用子类方法的两种方案

接之前内容……
编写主人喂宠物的方法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 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23