生活随笔
收集整理的這篇文章主要介紹了
Java中重载和复写的区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Java中重載和復(fù)寫(xiě)的區(qū)別
- 重載(overload)
- 復(fù)寫(xiě)(override)
- 區(qū)別和聯(lián)系
重載(overload)
函數(shù)重載的最突出的例子就是類(lèi)的構(gòu)造函數(shù),用戶定義一個(gè)對(duì)象時(shí)可能會(huì)提供多種參數(shù)組合;函數(shù)重載的第二個(gè)例子就是滿足一個(gè)函數(shù)的多樣化功能,譬如abs函數(shù)參數(shù)既可以是整數(shù)也可以是小數(shù),也可以是復(fù)數(shù);由上面兩條可以歸納出函數(shù)重載的意思,就是使用統(tǒng)一的函數(shù)名去做類(lèi)似的但又不完全相同的功能;重載現(xiàn)象也會(huì)出現(xiàn)在繼承中,譬如本身從父類(lèi)中繼承了abs功能,自己又寫(xiě)了一個(gè)abs(與繼承的參數(shù)不同)功能,這樣多個(gè)同名不同參數(shù)的abs之間形成了重載現(xiàn)象;
復(fù)寫(xiě)(override)
從父類(lèi)繼承方法有三種方式,不動(dòng)直接用、接口不變只修改函數(shù)內(nèi)容、函數(shù)名不變改變接口和內(nèi)容;不動(dòng)直接用,不發(fā)生復(fù)寫(xiě)和重載;接口不變修改內(nèi)容,發(fā)生復(fù)寫(xiě)現(xiàn)象;函數(shù)名不變改變接口和內(nèi)容,這個(gè)是重新寫(xiě)了一個(gè)同名不同參數(shù)的函數(shù),發(fā)生重載現(xiàn)象;
區(qū)別和聯(lián)系
重載和復(fù)寫(xiě)都是描述函數(shù)之間的關(guān)系;重載關(guān)系是函數(shù)名相同參數(shù)不同,復(fù)寫(xiě)關(guān)系是接口完全相同;重載關(guān)系可以發(fā)生在同輩的函數(shù)中,也可以發(fā)生在不同輩的函數(shù)中,只要函數(shù)名同參數(shù)不同就是重載;復(fù)寫(xiě)關(guān)系只能發(fā)生在繼承關(guān)系中;最重要的一點(diǎn),重載是為了擴(kuò)展函數(shù)功能,復(fù)寫(xiě)是為了修正函數(shù)功能;
總結(jié)
以上是生活随笔為你收集整理的Java中重载和复写的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。