<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name="code" class="java">多态:所谓多态就是指一个引用(类型)在不同状态下的多种状态
<span style="font-family: Arial, Helvetica, sans-serif;">/*</span>
* 功能:演示多态
*
*
*/
package com.haitao;
public class Demo5 {
public static void main(String[] args) {
//多态
/*
* Cat1 cat=new Cat1();
cat.cry();
Dog1 dog=new Dog1();
dog.cry();
*/
/*
Animal1 an=new Cat1();
an.cry();
an=new Dog1();
an.cry();
*/
Master master=new Master();
master.feed(new Dog1(), new Bone());
master.feed(new Cat1(), new Fish());
}
}
//主人类
class Master
{
//给动物喂食物,使用多态,方法就可以用一个
public void feed(Animal1 an,Food f)
{
an.eat();
f.showName();
}
}
//食物类
class Food
{
String name;
public void showName()
{
}
}
class Fish extends Food
{
public void showName()
{
System.out.println("鱼");
}
}
//骨头类
class Bone extends Food
{
public void showName()
{
System.out.println("骨头");
}
}
//动物类
class Animal1
{
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//动物会叫
public void cry()
{
System.out.println("不知道怎么叫!");
}
public void eat()
{
System.out.println("不知道吃什么");
}
}
class Cat1 extends Animal1
{
//猫自己叫
public void cry()
{
System.out.println("喵喵叫");
}
//猫吃东西
public void eat()
{
System.out.println("猫爱吃鱼");
}
}
class Dog1 extends Animal1
{
//狗叫
public void cry()
{
System.out.println("汪汪叫");
}
//狗吃东西
public void eat()
{
System.out.println("狗爱吃骨头");
}
}