什么是方法重載
方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。調用重載方法時,Java編譯器能通過檢查調用的方法的參數類型和個數選擇一個恰當的方法。以下是小編精心整理的什么是方法重載,歡迎大家借鑒與參考,希望對大家有所幫助。
方法的重載的作用
java允許在一個類中,多個方法擁有相同的名字,但在名字相同的同時,必須有不同的參數,這就是重載,編譯器會根據實際情況挑選出正確的方法,如果編譯器找不到匹配的參數或者找出多個可能的匹配就會產生編譯時錯誤,這個過程被稱為重載的解析
1 普通方法的重載
普通方法的重載是Java實現多態技術的重要手段,為編程帶來了很多便利
當方法同名時,為了讓編譯器區別他們,至少需要下面之一不同
1 參數個數不同
2 對應位置上的參數類型不同
不允許參數完全相同而只是返回值不同的情況出現。無法進行編譯,程序在eclips中顯示錯誤
2 構造方法的重載
見文章構造方法的繼承
重載的解析
當類的設計者提供了重載方法之后,類的使用者在使用這些方法時編譯器需要確定調用哪一個方法,確定的唯一依據是參數列表,確定的過程被稱為重載的解析。
以下舉些例子說明:
show(int a ,int b,int c) //1
show(int a ,int b,double c) //2
show(int a ,double b,double c)//3
show(double a,double b,int c) //4
下面是調用
show(1,2,3);//1,2,3,4都是可行方法所有參數完全匹配1
show(1.0,2.0,3.0);//沒有一個可行方法
show(1.0,2,3);//4是最佳可行方法
show(1,2.0,3);//3,4都是可行方法,沒有最佳可行方法,報錯
重載和覆蓋都是多態的表現,他們在某些地方很相似,很容易引起初學者的疑惑,這里將它們之間的區別總結如下
1 重載和覆蓋的方法名稱都相同,但重載要求參數列表不同,而覆蓋要求參數列表完全相同。
2 重載對于方法前面的修飾符沒有限制,而覆蓋則對這些修飾符的使用有限制
3 重載時編譯器在編譯期間就可以確定調用那一個方法,而覆蓋則有可能在運行期間才能確定。
方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。調用重載方法時,Java編譯器能通過檢查調用的方法的參數類型和個數選擇一個恰當的方法。方法重載通常用于創建完成一組任務相似但參數的類型或參數的個數或參數的順序不同的方法。
Java的方法重載,就是在類中可以創建多個方法,它們可以有相同的名字,但必須具有不同的參數,即或者是參數的個數不同,或者是參數的類型不同。調用方法時通過傳遞給它們的不同個數和類型的參數,以及傳入參數的順序來決定具體使用哪個方法
擴展資料:
具體規范
一、方法名一定要相同。
二、方法的參數表必須不同,包括參數的類型或個數,以此區分不同的方法體。
1、如果參數個數不同,就不管它的參數類型了!
2、如果參數個數相同,那么參數的類型必須不同。
三、方法的返回類型、修飾符可以相同,也可不同。
【什么是方法重載】相關文章:
方法重載的條件09-23
方法重載與覆蓋的區別11-04
方法重載和方法重寫的概念和區別09-06
舞蹈能力的提升有什么方法12-14
初二有什么學習方法11-08
什么樣的學習方法好07-25
鼠標滾輪失靈有什么解決方法08-16
金鉆的養殖方法,有什么注意事項08-26
高考文言文翻譯有什么技巧和方法08-30
記憶方法有哪些學習方法10-19