更新時間:2022-07-11 12:37:16 來源:動力節(jié)點 瀏覽1741次
為了重載一個方法,方法的參數(shù)列表必須在以下任何一個方面有所不同:
1. 參數(shù)的數(shù)量。
例如:這是一個有效的重載案例
添加(整數(shù),整數(shù))
添加(整數(shù),整數(shù),整數(shù))
2.參數(shù)的數(shù)據(jù)類型。
例如:
加(整數(shù),整數(shù))
加(整數(shù),浮點數(shù))
3. 參數(shù)數(shù)據(jù)類型的順序。
例如:
添加(int ,float )
添加(float ,int )
方法重載的無效情況:
當(dāng)我說參數(shù)列表時,我不是在談?wù)摲椒ǖ姆祷仡愋停缛绻麅蓚€方法具有相同的名稱、相同的參數(shù)并且具有不同的返回類型,那么這不是一個有效的方法重載示例。這將引發(fā)編譯錯誤。
整數(shù)添加(整數(shù),整數(shù))浮點數(shù)添加(整數(shù),整數(shù))
方法重載是靜態(tài)多態(tài)的一個例子。我們將在單獨的教程中討論多態(tài)性及其類型。
正如本指南開頭所討論的,方法重載是通過聲明具有不同參數(shù)的相同方法來完成的。參數(shù)必須在以下任一方面不同:參數(shù)(或參數(shù))的數(shù)量、順序或類型。讓我們看一下每種情況的示例。
參數(shù)列表也稱為參數(shù)列表
示例 1:重載 - 參數(shù)列表中的參數(shù)數(shù)量不同
此示例顯示如何通過具有不同數(shù)量的參數(shù)來完成方法重載
類DisplayOverloading { public void disp ( char c ) { System . 出來。打印( c ); } public void disp ( char c , int num ) {系統(tǒng)。出來。println ( c + " " +數(shù)字); } }類示例{ public static void main (
String args []) { DisplayOverloading obj = new DisplayOverloading ();
對象。顯示('a' );
對象。顯示( 'a' , 10 ); } }
輸出:
一個
一個10
在上面的例子中——方法disp()基于參數(shù)的數(shù)量被重載——我們有兩個方法的名稱disp,但它們的參數(shù)不同。兩者都有不同數(shù)量的參數(shù)。
示例 2:重載 – 參數(shù)數(shù)據(jù)類型的差異
在這個例子中,方法 disp() 是根據(jù)參數(shù)的數(shù)據(jù)類型重載的——我們有兩個名為 disp() 的方法,一個是 char 類型的參數(shù),另一個是 int 類型的參數(shù)。
類DisplayOverloading2 { public void disp ( char c ) { System . 出來。打印( c ); }公共無效disp ( int c ) {系統(tǒng)。出來。打印( c ); } }
類Sample2 { public static void main ( String args []) { DisplayOverloading2 obj = new DisplayOverloading2 ();
對象。顯示('a' );
對象。顯示( 5 ); } }
輸出:
一個
5
示例 3:重載 – 參數(shù)的數(shù)據(jù)類型序列
這里的方法disp()是基于參數(shù)的數(shù)據(jù)類型序列重載的——這兩種方法在參數(shù)列表中都有不同的數(shù)據(jù)類型序列。第一種方法是將參數(shù)列表作為(char,int),第二種方法是使用(int,char)。由于順序不同,因此可以重載該方法而不會出現(xiàn)任何問題。
類DisplayOverloading3 { public void disp ( char c , int num ) { System . 出來。println ( "我是第一個定義方法disp" ); } public void disp ( int num , char c ) {系統(tǒng)。出來。println ( "我是方法disp的第二個定義" ); } }類Sample3 {公共
static void main ( String args []) { DisplayOverloading3 obj = new DisplayOverloading3 ();
對象。顯示( 'x' , 51 );
對象。顯示( 52 , 'y' ); } }
輸出:
我是方法disp的第一個定義
我是方法disp的第二個定義
以上就是關(guān)于“Java方法的重載示例”的介紹,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java教程,里面有更豐富的知識等著大家去學(xué)習(xí),希望對大家能夠有所幫助。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743