多态 --- 相同的行为,不同的实现。
方法的重载和方法的重写都是多态。因为在他们的要求中,都有方法名相同,而方法名相同代表的就是相同的行为。
重载 --- 是在一个类当中,拥有多个同名方法,参数不同,各有各的实现。
重写 --- 一定是在继承关系当中,有多个类。父类拥有的方法,子类也有同样的方法,但是各有各的实现。
无论是重载还是重写,都是静态多态。这里的静态和static一点关系都没有。这里的静指的是程序运行前,也就是说本次调用到底调的哪个对象的哪个方法是在编译期就确定了的。
动态多态将是以后各位同学大量使用的,原因有二:1、它才是真正的设计层面要求的多态效果;2、满足开闭原则。
这里的动态指的就是编译期不确定运行的效果,需要在运行期根据绑定的对象的不同,从而决定有什么样的效果。具体实现的手段:动态绑定技术 + 重写技术。