定义:不同类的对象对同一个消息作出不同的响应。




解释:见如下代码
不同类的对象:子类cat和子类dog
同一个消息:调用eat()方法
不同的响应:分别为 cat eat 和 dog eat
//父类Animalpublic class Animal {
public void eat(){
System.out.println("animal eat");
}
}
//子类Cat
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("cat eat");
}
}
//子类Dog
public class Dog extends Animal{
@Override
public void eat() {
System.out.println("dog eat");
}
}//测试
public class TestController { public static void main(String[] args) { Animal animal1 = new Cat(); Animal animal2 = new Dog(); animal1.eat(); animal2.eat(); }}
结果:
cat eat
dog eat
由此引出多态存在的三个条件
多态存在的三个条件
1.有继承关系
Cat和Dog继承Animal
2.子类重写父类的方法
Cat和Dog重写父类Animal的eat方法
3.父类的引用变量指向子类对象
Animal animal1 = new Cat();
Animal animal2 = new Dog();
多态的作用
消除类型之间的耦合关系,即解耦。
举例:
你定义了一个接口,功能是存储文件。定义了一个下载工具类用来存储下载的文件
网友评论