概述
同一对象,不同时刻,表现不同的形态
前提
1、有继承/实现关系
2、有方法重写
3、有父类引用指向子类对象
代码示例
1、动物类
public class Animal {
public void eat(){
System.out.println("动物吃东西");
}
}
2、猫类:包含继承关系和方法重写
//继承关系
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫吃鱼");//方法重写
}
}
3、测试类:父类引用指向子类对象
public class AnimalDemo {
public static void main(String[] args) {
//父类引用指向子类对象
Animal animal= new Cat();
animal.eat();
}
}