更新時(shí)間:2022-07-11 12:37:16 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1625次
為了重載一個(gè)方法,方法的參數(shù)列表必須在以下任何一個(gè)方面有所不同:
1. 參數(shù)的數(shù)量。
例如:這是一個(gè)有效的重載案例
添加(整數(shù),整數(shù))
添加(整數(shù),整數(shù),整數(shù))
2.參數(shù)的數(shù)據(jù)類型。
例如:
加(整數(shù),整數(shù))
加(整數(shù),浮點(diǎn)數(shù))
3. 參數(shù)數(shù)據(jù)類型的順序。
例如:
添加(int ,float )
添加(float ,int )
方法重載的無效情況:
當(dāng)我說參數(shù)列表時(shí),我不是在談?wù)摲椒ǖ姆祷仡愋?,例如如果兩個(gè)方法具有相同的名稱、相同的參數(shù)并且具有不同的返回類型,那么這不是一個(gè)有效的方法重載示例。這將引發(fā)編譯錯(cuò)誤。
整數(shù)添加(整數(shù),整數(shù))浮點(diǎn)數(shù)添加(整數(shù),整數(shù))
方法重載是靜態(tài)多態(tài)的一個(gè)例子。我們將在單獨(dú)的教程中討論多態(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 ();
對(duì)象。顯示('a' );
對(duì)象。顯示( 'a' , 10 ); } }
輸出:
一個(gè)
一個(gè)10
在上面的例子中——方法disp()基于參數(shù)的數(shù)量被重載——我們有兩個(gè)方法的名稱disp,但它們的參數(shù)不同。兩者都有不同數(shù)量的參數(shù)。
示例 2:重載 – 參數(shù)數(shù)據(jù)類型的差異
在這個(gè)例子中,方法 disp() 是根據(jù)參數(shù)的數(shù)據(jù)類型重載的——我們有兩個(gè)名為 disp() 的方法,一個(gè)是 char 類型的參數(shù),另一個(gè)是 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 ();
對(duì)象。顯示('a' );
對(duì)象。顯示( 5 ); } }
輸出:
一個(gè)
5
示例 3:重載 – 參數(shù)的數(shù)據(jù)類型序列
這里的方法disp()是基于參數(shù)的數(shù)據(jù)類型序列重載的——這兩種方法在參數(shù)列表中都有不同的數(shù)據(jù)類型序列。第一種方法是將參數(shù)列表作為(char,int),第二種方法是使用(int,char)。由于順序不同,因此可以重載該方法而不會(huì)出現(xiàn)任何問題。
類DisplayOverloading3 { public void disp ( char c , int num ) { System . 出來。println ( "我是第一個(gè)定義方法disp" ); } public void disp ( int num , char c ) {系統(tǒng)。出來。println ( "我是方法disp的第二個(gè)定義" ); } }類Sample3 {公共
static void main ( String args []) { DisplayOverloading3 obj = new DisplayOverloading3 ();
對(duì)象。顯示( 'x' , 51 );
對(duì)象。顯示( 52 , 'y' ); } }
輸出:
我是方法disp的第一個(gè)定義
我是方法disp的第二個(gè)定義
以上就是關(guān)于“Java方法的重載示例”的介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java教程,里面有更豐富的知識(shí)等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743