运行结果:
代码:
package com.duotaixing;
public class duotaixingtest {
public static void main(String[] args) {
duotaixingtest s1 = new duotaixingtest();
cat s = new cat();
s1.yy(s);
s1.yy(new dog()); //s1 调用了yy方法,然后运用多态性,直接调用了父类animal的 子类dog()重写的方法。
//相当于 animal animal = new dog() ; 多态性的使用
}
public void yy(animal animal) {
animal.eat();
animal.sleep();
}
}
class animal {
public void eat() {
System.out.println("吃东西");
}
public void sleep() {
System.out.println("睡觉");
}
}
class dog extends animal{
public void eat() {
System.out.println("吃狗粮");
}
public void sleep() {
System.out.println("睡狗觉");
}
}
class cat extends animal{
public void eat() {
System.out.println("吃猫粮");
}
public void sleep() {
System.out.println("睡猫觉");
}
}