java overload是什么,讓我們一起了解一下?
overload是在Java程序中實現方法的重載,同一個類可以有兩個或者多個方法名字相同,只要參數不同即可。應當注意的是,必須是在同一個類中、方法名相同、方法參數的個數、順序或類型不同、與方法的修飾符或返回值沒有關系。
overload的規則是什么?
1、方法名稱必須相同。2、參數列表必須不同,即參數個數、參數類型或參數順序中任有一個不同。3、方法的返回類型可以相同也可以不同,對此無限制。4、若僅滿足方法的返回類型不同,不屬于方法重載。
方法重載的目的是什么?
1、方法重載的主要好處就是,不用為了對不同的參數類型或參數個數,而寫多個函數。多個函數用同一個名字,但參數表,即參數的個數或(和)數據類型可以不同,調用的時候,雖然方法名字相同,但根據參數表可以自動調用對應的函數。
2、重載的最直接作用是方便了程序員可以根據不同的參數個數,順序,類型,自動匹配方法,減少寫過個函數名或方法名的重復步驟。
實戰案例:
package?com.test; class?MyClass?{ ????int?height; ????MyClass()?{ ????????System.out.println("調用無參數構造函數"); ????????height?=?4; ????} ????MyClass(int?i)?{ ????????System.out.println("調用有參數構造函數"); ????????height?=?i; ????} ????void?info(int?a,?String?s)?{ ????????System.out.println(s+":房子高度為?"+height?+?"?米"); ????} ????void?info(String?s,?int?a)?{ ????????System.out.println("參數順序不同構成重載:"?+s?+?":?房子高度為?"?+?height?+?"?米"); ????} ????int?info(int?b,?int?a)?{ ????????System.out.println("方法修飾符可以不同"?+":?房子高度為?"?+?height?+?"?米"); ????????return?a+b; ????} ????float?info(int?b,?int?a,?float?c)?{ ????????System.out.println("方法返回值類型可以不同"?+":?房子高度為?"?+?height?+?"?米"); ????????return?a+b; ????} } public?class?Ytt?{ ????public?static?void?main(String[]?args)?{ ????????MyClass?t?=?new?MyClass(3); ????????t.info(1,"測試1"); ????????t.info("測試2",2);??//參數順序不同構成重載 ????????t.info(1,2);????????//方法修飾符可以不同,方法返回值類型不影響重載 ????????t.info(1,2,6f);??//方法返回值類型可以不同 ????????//重載構造函數 ????????new?MyClass();?? ????} }
以上就是小編今天的分享了,希望可以幫助到大家。