索阅 100例 首 页| 资 讯| 下 载| 论 坛| 博 客| Webinar| 高 校| 专 刊| 会展| EETV| 百科| 问答| 电路图| 工程师手册| Datasheet

EEPW首页 > 百科 > 重载

重载


贡献者:ysjab    浏览:891次    创建时间:2010-03-22

重载Top
  重载:在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。
  简单的说:一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
  重载是不是多态?
  re:
  重载还是一种是多态吧,有四种形式的多态
  1.虚函数多态
  2模板多态
  3重载
  4转换
  所谓的动态和静态区分是另一种基于绑定时间的多态分类,严格来说,重载是编译时多态,即静态多态,根据不同类型函数编译时会产生不同的名字如int_foo和char_foo等等,以此来区别调用。故重载仍符合多态定义——通过单一标识支持不同特定行为的能力,只是重载属于静态多态,而不是通过继承和虚函数实现的动态多态。
  另一中说法:
  重载(overload)和多态无关,真正和多态相关的是覆盖(override)。
  当派生类重新定义了基类的虚拟方法后,基类根据赋给它的不同的派生类引用,动态地调用属于派生类的对应方法,这样的方法调用在编译期间是无法确定的。因此,这样的方法地址是在运行期绑定的(动态邦定)。
  结论就是:
  重载只是一种语言特性,与多态无关,与面向对象也无关。


如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请编辑词条     查看历史版本

开放分类
    

参考资料
http://baike.baidu.com/view/126530.html?fromTaglist

贡献者
ysjab    


本词条在以下词条中被提及:

关于本词条的评论共:(0条)
匿名不能发帖!请先 [ 登陆 ]