多态存在的三个必要条件:
1.需要存在继承和实现(接口)关系
2.同样的方法调用而执行不同操作、运行不同代码(重写)
3.在运行时父类或者接口的引用变量可以引用其子类的对象
多态的作用:
public class AnimalDemo { public static void main(String[] args) { // TODO Auto-generated method stub Animal dog = new Dog("旺财"); Animal cat = new Cat("招财猫"); dog.eat(); cat.eat(); } } class Animal{ private String name; public Animal(String name) { this.name = name; } public void eat() {//子类要重写 System.out.println(name); } } class Dog extends Animal{ public Dog(String name) { super(name); } public void eat() { System.out.println("吃狗粮"); } } class Cat extends Animal{ public Cat(String name) { super(name); } public void eat() { System.out.println("吃猫粮"); }
1.多态通过分离做什么和怎么做,从里一个角度将接口和实现分离
2.“多态”则消除了类型之间的耦合关系
3.多态的存在提高了城西的扩展性和后期的可维护性