/*
多态代码体现
多态的好处(扩展性强)
*/
//动物类
class dong{
public void sleep(){
System.out.println("睡觉");
}
public void eat(){
System.out.println("吃饭");
}
}
//猫类
class mao extends dong{
public void sleep(){
super.sleep();
System.out.println("猫趴着");
}
public void eat(){
super.eat();
System.out.println("猫吃鱼");
}
}
//狗类
class dog extends dong{
public void sleep(){
super.sleep();
System.out.println("狗躺着");
}
public void eat(){
super.eat();
System.out.println("狗吃骨头");
}
}
//猪类
class pig extends dong{
public void sleep(){
super.sleep();
System.out.println("猪站着");
}
public void eat(){
super.eat();
System.out.println("猪拱白菜");
}
}
// 工具类
class ju{
public void Fe(dong d){
d.sleep();
d.eat();
}
}
//测试类
class dogDemo1{
public static void main(String[] args){
/*
mao m=new mao();
m.sleep();
m.eat();
dog d=new dog();
d.sleep();
d.eat();
pig p=new pig();
p.sleep();
p.eat();
System.out.println("------------");//创建对象,一个一个调用方法
*/
dong m=new mao();
dong d=new dog();
dong p=new pig();
/*
dong m1=new mao();
dong m2=new mao();
dong d1=new dog();
dong d2=new dog();
dong p1=new pig();
dong p2=new pig();
j.Fe(m1);
j.Fe(d1);
j.Fe(p1);
j.Fe(m2);
j.Fe(d2);
j.Fe(p2);
*/
ju j=new ju();
j.Fe(m);
j.Fe(d);
j.Fe(p);//创建工具类,使用多态,工具类调用
}
}