在Java中,同一個(gè)類中的多個(gè)方法可以有相同的方法名稱,但是有不同的參數(shù)列表,這就稱為方法重載(method overloading)。
參數(shù)列表又叫參數(shù)簽名,包括參數(shù)的類型、參數(shù)的個(gè)數(shù)、參數(shù)的順序,只要有一個(gè)不同就叫做參數(shù)列表不同。
重載是面向?qū)ο蟮囊粋€(gè)基本特性。
public?class?Demo?{ //一個(gè)普通得方法,不帶參數(shù),無(wú)返回值 public?void?add(){ //method?body } //重載上面的方法,并且?guī)Я艘粋€(gè)整形參數(shù),無(wú)返回值 public?void?add(int?a){ //method?body } ????????//重載上面的方法,并且?guī)Я藘蓚€(gè)整型參數(shù),返回值為int型 public?int?add(int?a,int?b){ //method?body return?0; }}
通過(guò)上面的例子,不難看出,重載就是在一個(gè)類中,有相同的函數(shù)名稱,但形參不同的函。重載的結(jié)果,可以讓一個(gè)程序段盡量減少代碼和方法的種類。
說(shuō)明:
參數(shù)列表不同包括:個(gè)數(shù)不同、順序不同、類型不同。
僅僅參數(shù)變量名稱不同是不可以的。
跟成員方法一樣,構(gòu)造方法也可以重載。
聲明為final的方法不能被重載。
聲明為static的方法不能被重載,但是能夠被在此聲明。
方法的重載的規(guī)則:
方法名稱必須相同。
參數(shù)列表必須不同。
方法的返回類型可以相同也可以不相同。
僅僅返回類型不同不足以稱為方法的重載。
方法重載的實(shí)現(xiàn):
方法名稱相同時(shí),編譯器會(huì)根據(jù)調(diào)用方法的參數(shù)個(gè)數(shù)、參數(shù)類型等去逐個(gè)匹配,以選擇對(duì)應(yīng)的方法,如果匹配失敗,則編譯器報(bào)錯(cuò),這叫做重載分辨。
以上就是長(zhǎng)沙達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java方法重載的簡(jiǎn)單介紹”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。