1、多态的三个条件:有继承关系,父类函数子类有重写过了,父类引用指向子类对象;
2、多态产生子类必须重写父类一个函数,有很多情况下面,父类函数的函数体其实不起作用,这样就出来抽象函数的概念,就是父类定义为抽象类,然后函数不定义函数体,就定义一个函数名称,目的就是让子类重写,产生多态的效应;
3、继续第2条,抽象类中有函数定义为抽象函数,既然这样,有这样一种类,里面的所有函数都没有函数体,只定义函数名称,这样的类定义为接口(interface),里面所有的成员变量都是 final static 的,即使不写final static ,默认的就是final static;接口有一个重大的好处,除了可以实现多态特性之外,子类可以继承(实现implements)多个接口,因为java 中类只能实现单继承(extends);