项目需求如下图:

package com.Summer_0428.cn;
/**
* @author Summer
* 1.构建一个食物抽象类,Bone和Fish分别为其实现类,通过super传参。
* 2.构建一个动物类,对于Dog类和Cat类,分别使用多态,使food父类引用实现子类方法。
* 3.构建饲养员类,分别传入Food类和Animal类,多态的应用。
*
*/
/**食物父类*/
abstract class Food{
private String name;
public Food(String name) {
this.name = name;
}
public String getName() {
return name;
}
} class Bone extends Food{
public Bone(String name) {
super(name);
} } class Fish extends Food{
public Fish(String name) {
super(name);
} } /**动物父类*/
abstract class Animal{//多态
public abstract void eat(Food food);
} class Dog extends Animal{ @Override
public void eat(Food food) {//多态
System.out.println("小狗吃"+food.getName());
}
} class Cat extends Animal{//多态 @Override
public void eat(Food food) {
System.out.println("小猫吃"+food.getName());
}
} class Feeder{
public void feed(Food food,Animal animal){//多态
System.out.println("饲养员喂养");
animal.eat(food);
}
} public class TestFeeder { public static void main(String[] args) {
Bone bone = new Bone("骨头");
Fish fish = new Fish("鱼");
Dog dog = new Dog();
Cat cat = new Cat();
Feeder Tom = new Feeder();
Tom.feed(bone, dog);
Tom.feed(fish, cat); } }

最新文章

  1. 使用Dir,遍历文件夹下所有子文件夹及文件
  2. java 线程协作 join()
  3. js中的preventDefault与stopPropagation详解
  4. MVC 中的 ViewModel
  5. C编程实现2的1000次方(使程序中的n=1000即可)
  6. [iOS UI进阶 - 3.2] 手势识别器UIGestureRecognizer
  7. HIBERNATE一对一双向外键联合主键关联
  8. js点击图片显示在左边大图
  9. IBInspectable的使用
  10. 虚拟机VHD格式解析到NTFS文件系统解析
  11. (二)一个工作任务引起的乱战——C++程序编译为dll,让C#调用
  12. SolrCloud初识
  13. Android平台上使用气压传感器计算海拔高度
  14. 导出Excel数据
  15. C#设计模式之十三代理模式(Proxy)【结构型】
  16. Delphi 10.2 新特性之—TFDBatchMoveJSONWriter
  17. python全栈开发day54-mysql库操作、表操作、数据类型、完整性约束
  18. ios开发之--给WebView加载进度条
  19. Mac使用crontab来实现定时任务
  20. MySQL提供了以下三种方法用于获取数据库对象的元数据

热门文章

  1. vue 使用 supermap iclient-classic
  2. kubernetes 客户端KubeClient使用及常用api
  3. dubbo 序列化机制之 hessian2序列化实现原理分析
  4. Servlet+JSP及Tomcat常见面试题(面试必备)
  5. 跟我一起学opencv 第五课之调整图像亮度和对比度
  6. 1.6W star 的 JCSprout 阅读体验大提升
  7. DotNetCore跨平台~2.0提前发布喽
  8. 红透半边天的VR(虚拟现实)产业
  9. SLAM+语音机器人DIY系列:(四)差分底盘设计——3.底盘通信协议
  10. iOS weak底层实现原理