Java中存在著兩種多態:重載(Overload)和重寫(Override),方法重載是兩種多態的一種。
例如:你讓一個人執行「求面積」操作時,他可能會問你求什麼面積?
功能多型性就是指可以傳遞不同給功能的訊息,以便讓物件可以根據對應的訊息來產生對應的行為。物件的行為透過類別中的方法來體現,那麼行為的多態性就是方法的重載。
方法重載的語法規則:
方法重載意味著一個類別中可以有多個方法具有相同的名字,但這些方法的參數必須不同。要麼參數的個數不同,要麼參數個數相同,但參數清單中對應的某個參數的類型不同。
例如:
classPeople{floathello(inta,intb){returna+b;}floathello(longa,intb){returna-b;}doublehello(doublea,intb){returna*b;}}publicclassMain{publicstaticvoidmain(Stringargs[]){Peopletom= newPeople();System.out.println(tom.hello(10,10));System.out.println(tom.hello(10L,10));System.out.println(tom.hello(10.0,10) );}}
運行結果如下:
20.00.0100.0
注意:
如果兩個方法的名字相同,即使回傳類型不同,也必須確保參數不同。