首页 > 分享 > Java学习之多态二

Java学习之多态二

目录

一、运用多态解决宠物喂食问题

原理分析

运行测试

运行结果

 分析

增加宠物和食物种类

Pig类

Rice类

测试

运行结果

一、运用多态解决宠物喂食问题

改变Master类的feed方法的参数列表

package com.hspedu.poly_;

public class Master {

private String name;

public Master(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public void feed(Animal animal, Food food){

System.out.println("主人" + name + "给"+ animal.getName() + "喂" +

food.getName());

}

}

原理分析

1)animal的编译类型是Animal,可以指向(接收)Animal子类的对象

2)food的编译类型是Food,可以指向(接收)Food子类的对象

运行测试

在Poly01.java中测试,为了区分加~

package com.hspedu.poly_;

public class Poly01 {

public static void main(String[] args) {

Master master = new Master("小李");

Dog spike = new Dog("Spike~");

Bone bone = new Bone("大骨头~");

master.feed(spike,bone);

Cat tom = new Cat("Tom~");

Fish fish = new Fish("鱼罐头~");

master.feed(tom,fish);

}

}

运行结果

 分析

因为spike是Dog类的对象,Dog类是Animal的子类,Animal可以接收子类的对象的传参;bone传参的原理也是如此

增加宠物和食物种类

增加宠物Pig类继承Aniaml类,增加食物Rice类,继承Food类,别的都不需要,在Poly01中直接创建新对象然后调用feed方法即可,这就是多态的便利

Pig类

package com.hspedu.poly_;

public class Pig extends Animal{

public Pig(String name) {

super(name);

}

}

Rice类

package com.hspedu.poly_;

public class Rice extends Food{

public Rice(String name) {

super(name);

}

}

测试

package com.hspedu.poly_;

public class Poly01 {

public static void main(String[] args) {

Master master = new Master("小李");

Dog spike = new Dog("Spike~");

Bone bone = new Bone("大骨头~");

master.feed(spike,bone);

Cat tom = new Cat("Tom~");

Fish fish = new Fish("鱼罐头~");

System.out.println("===============");

master.feed(tom,fish);

Pig pig = new Pig("猪猪侠");

Rice rice = new Rice("八宝饭");

System.out.println("============");

master.feed(pig,rice);

}

}

运行结果

相关知识

java特性封装、抽象、继承、多态理论
java 多态
Java笔记:多态polymorphic
编写Java程序,以继承和多态思想模拟饲养员喂养不同动物的不同行为
【Java学习记录】十二 Java中的多态
Java猫和狗(继承,多态,抽象,接口版)下
java开发桌面宠物
多态
(java)多态
Java学习笔记——Object类、多态、final

网址: Java学习之多态二 https://m.mcbbbk.com/newsview581236.html

所属分类:萌宠日常
上一篇: Spring PecClinic
下一篇: 如何打造一个完美的宠物水族馆