重载(重载和重写的区别)

频道:电子元器件 日期: 浏览:796

重载

本文内容来自于互联网,分享重载(重载和重写的区别)

重载Top
  重载:在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。

重载(重载和重写的区别)

  简单的说:一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。

  重载是不是多态?

  re:

  重载还是一种是多态吧,有四种形式的多态

  1.虚函数多态

  2模板多态

  3重载

  4转换

  所谓的动态和静态区分是另一种基于绑定时间的多态分类,严格来说,重载是编译时多态,即静态多态,根据不同类型函数编译时会产生不同的名字如int_foo和char_foo等等,以此来区别调用。故重载仍符合多态定义——通过单一标识支持不同特定行为的能力,只是重载属于静态多态,而不是通过继承和虚函数实现的动态多态。

  另一中说法:

  重载(overload)和多态无关,真正和多态相关的是覆盖(override)。

  当派生类重新定义了基类的虚拟方法后,基类根据赋给它的不同的派生类引用,动态地调用属于派生类的对应方法,这样的方法调用在编译期间是无法确定的。因此,这样的方法地址是在运行期绑定的(动态邦定)。

  结论就是:

重载(重载和重写的区别)

  重载只是一种语言特性,与多态无关,与面向对象也无关。

关键词:重载重写区别