概念
多态性 是指 同一个操作 作用于某一类对象,可以有不同的解释,产生不同的执行结果。
产生多态的必要条件
- 需要存在继承或实现(接口)关系。
- 同样的方法调用而执行不同操作、运行不同代码(重写)。
- 在运行时父类或者接口的引用变量可以引用其子类的对象。
使用多态的好处
- 多态通过分离做什么和怎么做,从一个角度将接口和实现进行分离。
- 多态消除了类型之间的耦合关系。
- 多态的存在提高了程序的 拓展性 和后期的 可维护性。
代码如下
abstract class Animal{
public String name;
abstract public void eat();
}
class Dog extends Animal{
public void eat() {
// TODO Auto-generated method stub
System.out.println("狗啃骨头或者吃shit");
}
}
class Cat extends Animal{
public void eat() {
// TODO Auto-generated method stub
System.out.println("猫吃鱼");
}
}
public class Test {
public static void main(String[] args) {
// 在运行时父类或者接口的引用变量可以引用其子类的对象
Animal an1 = new Dog();
Animal an2 = new Cat();
an1.eat();
an2.eat();
}
}