多态存在的必要条件:1. 继承;2.重写 ;3. 父类引用指向子类对象。
这三个条件满足后,一旦你调用父类当中被重写方法时,实际new的是哪个子类对象,你调用的就是哪个子类对象的重写后的方法,这就叫动态绑定。
多态是数据抽象和继承之后的第三种基本特征
利用多态可以创建可扩展的程序
多态可以消除类型之间的耦合关系
方法调用绑定
绑定:将一个方法调同一个方法主体关联起来
- 前期绑定:程序执行前进行绑定(编译器和连接程序),默认的绑定方式
- 后期绑定:程序运行时根据对象的类型进行绑定,又叫动态绑定和运行时绑定
JAVA中除了static方法和final方法之外,所有方法都是后期绑定
帮助设计可扩展的程序
多态是一项将改变的事物和未变的事物分离开来的重要技术