关于重载和重写,你应该知道以下几点:
1、重载是一个编译期概念、重写是一个运行期间概念。
2、重载遵循所谓“编译期绑定”,即在编译时根据参数变量的类型判断应该调用哪个方法。
3、重写遵循所谓“运行期绑定”,即在运行的时候,根据引用变量所指向的实际对象的类型来调用方法
4、因为在编译期已经确定调用哪个方法,所以重载并不是多态。而重写是多态。重载只是一种语言特性,是一种语法规则,与多态无关,与面向对象也无关。(注:严格来说,重载是编译时多态,即静态多态。但是,Java中提到的多态,在不特别说明的情况下都指动态多态) 摘自(http://hollischuang.gitee.io/tobetopjavaer/#/basics/object-oriented/overloading-vs-overriding)
本文详细解析了重载和重写在编程中的概念。重载是编译期概念,遵循编译期绑定,用于根据参数类型决定调用哪个方法;而重写是运行期概念,遵循运行期绑定,用于实现多态,根据实际对象类型调用方法。重载不是多态,而重写是多态的表现。
855

被折叠的 条评论
为什么被折叠?



