騰訊云cdn加速wordpress澤成seo網(wǎng)站排名
?目錄
1.前言
2.正文
2.1方法的定義
2.2方法的調(diào)用過程
2.3方法的實(shí)參與形參
2.3.1形參
2.3.2實(shí)參
2.3.3參數(shù)傳遞
2.4方法的重載
3.小結(jié)
1.前言
哈嘍大家好啊,今天博主繼續(xù)帶領(lǐng)大家學(xué)習(xí)java的基本語法,java的基礎(chǔ)語法部分打算用六到七篇博文完成講解,最后再用一個(gè)小項(xiàng)目加強(qiáng)自己的熟練度,廢話不多說,現(xiàn)在開始。
2.正文
2.1方法的定義
java中的方法,我個(gè)人感覺可以對(duì)標(biāo)C語言中的函數(shù)來方便理解。在下文中。我僅反復(fù)用一段凝練的代碼來講清楚方法。
在Java中,方法是一段用于執(zhí)行特定任務(wù)的代碼塊,它可以接受參數(shù),執(zhí)行操作,并返回結(jié)果。具體定義格式如下:
[修飾符] 返回類型 方法名(參數(shù)列表) {// 方法體
}
- 修飾符:如
public
,?private
,?static
,?final
等,用于控制方法的訪問權(quán)限和行為。具體在以后的文章會(huì)細(xì)講。- 返回類型:方法執(zhí)行完畢后返回的數(shù)據(jù)類型,如
int
,?String
,?void
(無返回值)等。- 方法名:方法的名稱,一般采用小駝峰命名。
- 參數(shù)列表:方法執(zhí)行時(shí)需要的參數(shù),參數(shù)之間用逗號(hào)分隔。如果沒有參數(shù),可以省略參數(shù)列表或者寫為空括號(hào)
()
。
例如在下面這段代碼中:
public static int Add(int x,int y){return x+y;}public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}
我們?cè)趕out語句中調(diào)用了Add方法,其中public,static為修飾符,int為返回類型,Add為方法名,int x,int y為參數(shù)。
2.2方法的調(diào)用過程
在這里我們梳理清楚方法調(diào)用的過程:
- 首先在主調(diào)方法里調(diào)用目標(biāo)方法。
- 將參數(shù)傳遞過去(這里有實(shí)參和形參倆個(gè)概念,下文講解)。
- 找到方法的地址后,執(zhí)行方法體。
- 被調(diào)方法結(jié)束,回到主調(diào)方法中繼續(xù)往下執(zhí)行。
這里需要注意的一點(diǎn)是:
方法在沒被調(diào)用的時(shí)候是不會(huì)被執(zhí)行的,只有被調(diào)用時(shí)才會(huì)執(zhí)行。
所以下面?zhèn)z段代碼的輸出結(jié)果是一致的:
public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}public static int Add(int x,int y){return x+y;}
public static int Add(int x,int y){return x+y;}public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}
main方法與Add方法的順序不影響程序運(yùn)行結(jié)果。
2.3方法的實(shí)參與形參
參數(shù)是方法執(zhí)行時(shí)需要的輸入值,這些參數(shù)在方法定義中被稱為形參,而在方法調(diào)用時(shí)提供的參數(shù)的main方法中被稱為實(shí)參。
2.3.1形參
形參是方法定義時(shí)聲明的參數(shù),它們?cè)诜椒ǖ膮?shù)列表中指定。形參相當(dāng)于方法內(nèi)部的局部變量,它們?cè)诜椒ū徽{(diào)用時(shí)創(chuàng)建,并在方法執(zhí)行完畢后銷毀。形參的主要用途是接收實(shí)參傳遞過來的值。
特點(diǎn):
- 形參是方法定義的一部分。
- 形參只在方法被調(diào)用時(shí)存在。
- 形參的值由實(shí)參提供。
2.3.2實(shí)參
實(shí)參是方法調(diào)用時(shí)傳遞給方法的實(shí)際值。實(shí)參可以是常量、變量、表達(dá)式或者方法的返回值。實(shí)參的值在方法調(diào)用時(shí)被傳遞給形參。
特點(diǎn):
- 實(shí)參是方法調(diào)用的一部分。
- 實(shí)參可以是任何類型的值,包括基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。
- 實(shí)參的值在方法調(diào)用時(shí)確定。
則還是在下段代碼中,a和b即為實(shí)參,而x和y為形參。
public static void main(String[] args) {int a = 1;int b = 2;System.out.println(Add(a,b));}public static int Add(int x,int y){return x+y;}
2.3.3參數(shù)傳遞
參數(shù)傳遞的方式有兩種:傳遞值和傳遞引用。
傳遞值:
- 基本數(shù)據(jù)類型(如
int
,?double
,?char
等)的參數(shù)傳遞是通過值傳遞的。- 當(dāng)方法被調(diào)用時(shí),實(shí)參的值會(huì)被復(fù)制到形參中。
- 方法內(nèi)部對(duì)形參的修改不會(huì)影響到實(shí)參。
傳遞引用:
- 引用數(shù)據(jù)類型(如對(duì)象、數(shù)組等)的參數(shù)傳遞是通過引用傳遞的。
- 當(dāng)方法被調(diào)用時(shí),實(shí)參的引用(內(nèi)存地址)會(huì)被復(fù)制到形參中。
- 方法內(nèi)部對(duì)形參的修改會(huì)影響到實(shí)參,因?yàn)樗鼈冎赶蛲粋€(gè)對(duì)象。
2.4方法的重載
重載是一種允許同一個(gè)類中存在多個(gè)同名方法,但這些方法的參數(shù)列表(參數(shù)的類型、數(shù)量或順序)不同的特性。具體規(guī)則如下:
- 方法名相同:在同一個(gè)類中,重載的方法必須具有相同的方法名。
- 參數(shù)列表不同:參數(shù)列表必須在類型、數(shù)量或順序上有所不同。
- 返回類型不相關(guān):方法的返回類型不作為重載的依據(jù)。即使兩個(gè)方法的返回類型不同,只要它們的參數(shù)列表相同,它們就不能被認(rèn)為是重載的方法。
- 訪問修飾符不相關(guān):方法的訪問修飾符(如
public
,?private
等)也不影響重載。
將上文的代碼稍作更改:
public static void main(String[] args) {int a = 1;int b = 2;int c = 3;System.out.println("三數(shù)相加:");System.out.println(Add(a,b,c));System.out.println("倆數(shù)相加:");System.out.println(Add(a,b));}public static int Add(int x,int y){return x+y;}public static int Add(int x,int y,int z){return x+y+z;}
我們可看到有倆個(gè)Add方法,但編譯器會(huì)自動(dòng)根據(jù)你所調(diào)用參數(shù)的數(shù)量,類型等不同來最終確定你所要調(diào)用的方法究竟是哪一個(gè)。
3.小結(jié)
今天關(guān)于方法的分享到這里就結(jié)束了,喜歡的小伙伴多多支持,別忘了點(diǎn)贊收藏支持一下哦,你的支持就是對(duì)我最大的鼓勵(lì)。