方法重載:
方法名稱一緻,方法的參數類型和個數不一緻,就是方法的重載。
就好比在香港買東西一樣,它的方法名是購買,你傳遞給方法的是人民币類型的參數值,則調用人民币的購買方法,你傳遞給方法的是美元類型的參數值,就調用美元的購買方法。
方法名一緻參數不一緻,就像是一個方法有了多種模式。而且這樣友善于記憶方法,如果不同參數的方法就需要換一個方法名稱的話,一個程式下來就會有十分多名稱不一樣的方法,需要每個去記憶的話,無疑是增加了開發人員的負擔。利用方法重載則隻需要知道一個方法名即可,雖然方法名稱是一樣的,但是參數不一緻,是以調用的時候傳遞哪個類型參數值,就調用聲明了對應類型參數的方法,絕對不會調用其他參數類型的方法。
例如:
<a href="https://s4.51cto.com/wyfs02/M02/A7/82/wKioL1nnfg_j0TCEABXslUDIFRw295.png" target="_blank"></a>
在調用方法時,傳遞的是short類型的參數值,是以就會調用聲明了short類型參數的方法。
方法傳回值:
方法的傳回值就像做一件事情需要得到結果值,例如去購物,結果值就是買到的物品,然後交給調用你去購物的人。
在方法中如果沒有傳回值就寫一個void表示,例如:
static void method(){
}
需要有傳回值就可以聲明一個傳回值類型。傳回類型可以寫基本資料類型,字元串類型,數組類型,對象類型等等,但是隻能寫一個,寫多個則會報錯,例如:
static int method(
}
聲明了傳回類型,就需要用return關鍵字傳回一個結果值。return是傳回關鍵字,用于傳回資料值給調用者。
return關鍵字的兩個主要作用:
1.用于傳回資料給調用的方法,然後結束方法的執行。
2.在沒有傳回值(void)的方法中,用于結束方法。
用于傳回資料給調用這個方法的調用者:
<a href="https://s3.51cto.com/wyfs02/M02/08/D3/wKiom1nngMqQrKxCAAoZRFt_BOM592.png" target="_blank"></a>
聲明了一個int傳回類型,就得有一個int類型的傳回值傳回給調用者。如果是其他類型或者不寫return傳回出資料值都會報錯。
如果方法裡有流程分支語句的話,要确定會有一個傳回值傳回出去,例如if else這種分支語句,if語句塊和else語句塊裡都要用return關鍵字傳回出去一個值,不寫的話也要在代碼的最後面寫一個return出去的值,如果沒有則會報錯。例如:
<a href="https://s2.51cto.com/wyfs02/M01/A7/82/wKioL1nnfh2g-sSaAAv_BJZzvZo655.png" target="_blank"></a>
雖然if語句塊裡有return,但是萬一是執行else的話則不就沒有傳回值了,是以這種寫法是不允許的,因為不管如何最後都得有一個return出去的值。例如:
<a href="https://s3.51cto.com/wyfs02/M00/08/D3/wKiom1nngNryUE1gAAneaG0x0_k710.png" target="_blank"></a>
這種寫法則是正确的,因為即便執行的是else,到最後都有傳回出去一個值。
return在void方法中用于結束方法:
<a href="https://s3.51cto.com/wyfs02/M01/08/D3/wKiom1nngN7hmBTeAAeWWujeXbk893.png" target="_blank"></a>
代碼執行到return這裡就結束跳出了,而且return後面不能再寫任何代碼不然就會報錯:
<a href="https://s4.51cto.com/wyfs02/M00/A7/82/wKioL1nnfi3wYz6PAAjPNEMS9Hs341.png" target="_blank"></a>
本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/1974025,如需轉載請自行聯系原作者