概念

多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征。
主要是指同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。
好处是可以把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,统一调用标准。
例如:水,在不同时刻可以有多种形态,包括水蒸气,冰,水。
Java怎么体现多态呢?狗有两种形态:狗和小动物

class Animal
class Dog extends Animal
Dog d = new Dog();//狗是狗
Animal  a=new Dog();//狗是小动物,创建了狗的对象,赋值给动物对象,这就是多态

特点

1、 多态的前提是继承
2、 要有方法的重写
3、 父类引用指向子类对象,如:Animal a = new Dog(); -- 小到大,向上转型
4、 多态中,编译看左边,运行看右边

入门案例

public class p {
       public static void main(String[] args) {
              /*Animal  a = new Animal();
              a.eat();
              Dog d = new Dog();
              d.kanjia();
              d.eat();*/
//父类引用指向子类对象--把右面的小的,给了左面大的。相当于从小到大的过程,向上造型。
              Animal an = new Dog();
              an.eat();//只可以用父类的功能,这就统一了调用的标准
              //狗吃肉,由于eat()发生了重写,所以父类方法被覆盖掉了
       }
}

class Animal{
       public void eat(){
              System.out.println("大小通吃");
       }
}
class Dog extends Animal{
       public void kanjia(){
              System.out.println("狗可以看家");
       }
       public void eat(){
              System.out.println("狗吃肉");
       }
}

Q.E.D.


努力成就未来