Overloading和Overriding的区别
古城
最近这两个概念老是分不清了,所以特别研究了一番。
Overloading与Overriding的概念:
Overloading----名字一样,给不同的条件(参数,多寡或順序不同即可)做不同的事。譬如上班(){},带参数”SR”时是在执行”赶工写程式”,不带参数时是在执行”摸鱼”。注意,回传值不同不可代表Overload,且会造成compiler error。
Overriding----名字一样,且条件参数及回传值)也要一模一樣。主要是覆写掉继承来的東西。譬如继承了超认真的做人态度,就一定会变得超认真(预设来是不能选择的)只要可以做到接触的更多(access modifier更大)且犯更少的错(throws exceptions范围更小),就懂得用另一种态度来生活。
方法重载(Overloading)和方法重写/过载(Overriding)都是多态性的表现
(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)
(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写(Overriding)
(3)方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现.
下一篇:
无
本文评论
发表评论
这是一个别人称之为角落的世界
幸而,它的确是我的世界