多态
,顾名思义就是多种状态
的意思。简单来说就是同一个接口使用不同的实例来执行不同操作
抽象一点:猫和狗都会叫,但是它们叫的声音不一样。
多态
的存在必须满足一下条件:
- 继承(extends或implements)
- 重写(override)
- 父类引用子类对象
多态的优点:
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
以下面的代码为例:
public class Animal {
String color;
String name;
public void Call() {
System.out.println("动物叫");
}
public void getName() {
System.out.println("动物名");
}
}
class Cat extends Animal{
public void Call() {
System.out.println("喵喵喵");
}
}
class Dog extends Animal{
public void Call() {
System.out.println("汪汪汪");
}
public static void main(String []args) {
Animal dog = new Dog();
Animal cat = new Cat();
dog.getName();
dog.Call();
cat.Call();
}
}
可以看到同样的行为Call
在不同的对象Dog
和Cat
有着不同的表达。以上就是我对多态的简单理解。