Java學(xué)什么?Java中存在著一種多態(tài)——重載,即一個(gè)類(lèi)中可以有多個(gè)方法具有相同的名字。本文要來(lái)和大家梳理的正是關(guān)于Java方法重載的學(xué)習(xí)總結(jié),下面讓我們一起來(lái)好好認(rèn)識(shí)一下Java方法重載,再做一做相關(guān)練習(xí)題吧~
1.方法重載概念
方法重載指同一個(gè)類(lèi)中定義的多個(gè)方法之間的關(guān)系,滿(mǎn)足下列條件的多個(gè)方法相互構(gòu)成重載。多個(gè)方法在同一個(gè)類(lèi)中,多個(gè)方法具有相同的方法名,多個(gè)方法的參數(shù)不相同,類(lèi)型不同或者數(shù)量不同。
(1)注意:
重載僅對(duì)應(yīng)方法的定義,與方法的調(diào)用無(wú)關(guān),調(diào)用方式參照標(biāo)準(zhǔn)格式。重載僅針對(duì)同一個(gè)類(lèi)中方法的名稱(chēng)與參數(shù)進(jìn)行識(shí)別,與返回值無(wú)關(guān),換句話(huà)說(shuō)不能通過(guò)返回值來(lái)判定兩個(gè)方法是否相互構(gòu)成重載。
(2)正確范例:
```javapublic class MethodDemo{public static void fn(int a){//方法體}public static int fn(double a){//方法體}}public class MethodDemo{public static float fn(int a){//方法體}public static int fn(int a,int b){//方法體}}```
(3)錯(cuò)誤范例:
```javapublic class MethodDemo{public static void fn(int a){//方法體}public static int fn(int a){//方法體}}public class MethodDemo01{public static void fn(int a){//方法體}}public class MethodDemo02{public static int fn(double a){//方法體}}```
2.方法重載練習(xí)
(1)需求:使用方法重載的思想,設(shè)計(jì)比較兩個(gè)整數(shù)是否相同的方法,兼容全整數(shù)類(lèi)型(byte,short,int,long)
(2)解決思路:
- 定義比較兩個(gè)數(shù)字的是否相同的方法compare()方法,參數(shù)選擇兩個(gè)int型參數(shù)
- 定義對(duì)應(yīng)的重載方法,變更對(duì)應(yīng)的參數(shù)類(lèi)型,參數(shù)變更為兩個(gè)long型參數(shù)
- 定義所有的重載方法,兩個(gè)byte類(lèi)型與兩個(gè)short類(lèi)型參數(shù)
- 完成方法的調(diào)用,測(cè)試運(yùn)行結(jié)果
(3)代碼實(shí)現(xiàn):
```javapublic class MethodTest{public static void main(String[]args){//調(diào)用方法System.out.println(compare(10,20));System.out.println(compare((byte)10,(byte)20));System.out.println(compare((short)10,(short)20));System.out.println(compare(10L,20L))}//intpublic static boolean compare(int a,int b){System.out.println("int");return a==b;}//bytepublic static boolean compare(byte a,byte b){System.out.println("byte");return a==b;}//shortpublic static boolean compare(short a,short b){System.out.println("short");return a==b;}//longpublic static boolean compare(long a,long b){System.out.println("long");return a==b;}}```
以上就是長(zhǎng)沙達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java學(xué)什么?來(lái)看看方法重載學(xué)習(xí)總結(jié)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。