Overloading和Overriding的区别

 
古城
@ 2007.05.25
分类:技术笔记
点击:3547  评论:0
 
 
 
    最近这两个概念老是分不清了,所以特别研究了一番。

    Overloading与Overriding的概念:
    Overloading----名字一样,给不同的条件(参数,多寡或順序不同即可)做不同的事。譬如上班(){},带参数”SR”时是在执行”赶工写程式”,不带参数时是在执行”摸鱼”。注意,回传值不同不可代表Overload,且会造成compiler error。
    Overriding----名字一样,且条件参数及回传值)也要一模一樣。主要是覆写掉继承来的東西。譬如继承了超认真的做人态度,就一定会变得超认真(预设来是不能选择的)只要可以做到接触的更多(access modifier更大)且犯更少的错(throws exceptions范围更小),就懂得用另一种态度来生活。

    方法重载(Overloading)和方法重写/过载(Overriding)都是多态性的表现
    (1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)
    (2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)
    (3)方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现.
 
 
 
下一篇:
 
 

本文评论

 
 

发表评论

你的评论
← 填你的昵称
以下内容非必填,可根据需要填写
← 可以展示在你的评论上方
← 不会在页面展示
← 不会在页面展示
← 只给我看?勾选上
这是一个别人称之为角落的世界
幸而,它的确是我的世界