日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

controller方法名一样参数传递不同如何根据参数匹配_【Java学习 | Javase】方法

發布時間:2024/10/8 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 controller方法名一样参数传递不同如何根据参数匹配_【Java学习 | Javase】方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整理自:動力節點Javase基礎講義、《Java核心技術》

方法

前言

  • 方法的出現是為了實現代碼的復用,對于功能性代碼,我們希望不要重復寫,而是獨立出來,可以被重復的調用

  • 所以,方法是一段可以完成某個特定功能并且可以被重復利用的代碼片段


方法定義

  • 語法格式:[修飾符列表] 返回值類型 ?方法名(形參列表)[throws 異常列表]{方法體;}

  • 若方法有返回值,則Java語法要求方法必須能夠“百分百保證”在結束時能返回該指定類型

    • 同一個域中,return語句后面不能寫任何代碼

  • 方法的返回值在接收的時候采用變量的方式接收,要求這個變量的數據類型和返回值類型一致/存在自動轉換


方法調用

  • 對于方法的修飾符列表有static關鍵字的,可以通過“類名.方法名(實參列表)”調用

    • 調用的方法在同一個類中,"類名."可省略

  • 對于方法的修飾符列表沒有static的,通過“實例對象.方法名(實參列表)”調用

  • 實參和形參必須一一對應,即個數要一樣,數據類型要對應相同/存在自動類型轉換


方法調用時的參數傳遞

  • Java中參數傳遞都是以傳值的方法執行

  • 對于基本數據類型,傳遞時相當于拷貝了一個值傳過去,在方法中對形參的改變不影響實參

  • 對于引用數據類型,傳遞時是把在堆中的對象的內存地址拷貝一份傳遞過去,這種傳遞地址的情況也稱為傳遞了一個引用,由于形參對應對象的內存地址,故對形參的改變會影響到實參(因為把堆中的對象改了),但是這時候仍然是傳值,而不是真的把實參引用傳過去。若在方法中對兩個形參交換不會影響到實參


方法執行過程中內存的變化

  • 方法區中存儲類的信息/代碼片段,方法在執行過程中需要的內存空間在棧中分配

  • 方法只定義不調用的話,只是把它的代碼片段存儲在方法區中,Java虛擬機不會在棧中給該方法分配活動空間

  • 方法調用時會給該方法在棧內存中分配所屬的活動空間,此時發生壓棧,直到該方法執行結束后,該方法在棧中對應的活動空間就會被釋放,此時發生彈棧

  • 由于棧是先入后出的,故最先調用的方法,最后才結束。采用棧才能保證方法體中的代碼遵循自上而下的順序依次執行,當前行代碼必須執行結束后,下一行代碼才能執行,比如在一個方法中調用另一個方法,必須等到另一個方法執行完畢才能進行下一行


方法重載

引入

  • 對于功能相似的代碼,若分別定義,那么開發人員要記住的方法名大大增加,若使用重載機制,則調用同一個方法名,傳入不同的實參,方法根據不同的參數實現特定的功能,看起來像是在調用同一個方法,這樣開發人員不用記那么多方法,且代碼看起來美觀

定義

  • 方法重載是指在一個類中定義多個同名的方法,但要求每個方法有不同的參數的類型或參數的個數

用的時機

  • 多個功能相似時

滿足條件

  • 同一個類

  • 方法名相同

  • 參數列表不同


代碼檢驗

  • 調用同一個類的靜態方法,可省略"類名.",但對于不同的類,不能省略

public?class?Test?{
????public?static?void?main(String[]?args)?{
????????print();
????????/*找不到符號*/
????????sayHello();
????}

????public?static?void?print(){}
}

public?class?Sub?{
????public?static?void?sayHello(){}
}
  • 在同一個域中,return后面不能有語句

public?class?Test?{
????public?static?void?main(String[]?args)?{

????}
????public?static?int?max(int?a,int?b){
????????if(a?>?b){
????????????return?a;
????????????/*Unreachable?statement*/
????????????System.out.println("hello");
????????}
????????return?b;
????}
}
  • 方法體中代碼嚴格按照自上而下的順序,因為方法調用時會入棧,方法結束時出棧,而棧是先入后出的

輸出:
main?method?start...
m1?method?start...
m2?method?start...
m2?method?over....
m1?method?over....
main?method?over....
public?class?Test?{
????public?static?void?main(String[]?args)?{
????????System.out.println("main?method?start...");
????????m1();
????????System.out.println("main?method?over....");
????}
????public?static?void?m1(){
????????System.out.println("m1?method?start...");
????????m2();
????????System.out.println("m1?method?over....");
????}
????public?static?void?m2(){
????????System.out.println("m2?method?start...");
????????System.out.println("m2?method?over....");
????}
}
  • 方法重載與修飾符列表及返回值類型沒有關系

public?class?Test?{
????public?static?void?main(String[]?args)?{??}
????public?static?void?doSome(int?i){?}
????/*Error:已在類中定義了方法?doSome(int)*/
????public?static?int?doSome(int?i){return?1;}
????public?void?doSome(){?}
????/*Error:已在類中定義了方法?doSome()*/
????public?static?void?doSome(){?}
????/*Error:已在類中定義了方法?doSome()*/
????protected?static?void?doSome(){?}
}
  • 即使是引用類型作為實參也是值傳遞,可通過在方法中交換兩個引用類型而實參沒有交換驗證

public?class?Sub{
????int?v;

????public?Sub(int?v)?{
????????this.v?=?v;
????}

????public?static?void?main(String[]?args)?{
????????Sub?s1?=?new?Sub(1);
????????Sub?s2?=?new?Sub(2);
????????System.out.println(s1.v);//1
????????System.out.println(s2.v);//2
????????swap(s1,s2);
????????System.out.println(s1.v);//1
????????System.out.println(s2.v);//2
????}
????public?static?void?swap(Sub?s1,Sub?s2){
????????Sub?temp?=?s1;
????????s1?=?s2;
????????s2?=?temp;
????}
}

總結

以上是生活随笔為你收集整理的controller方法名一样参数传递不同如何根据参数匹配_【Java学习 | Javase】方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲天堂自拍 | 91tv在线| 蜜桃视频在线观看www | 嫩模一区二区三区 | 91视频亚洲 | 色小姐在线视频 | 国产成人在线一区二区 | 中文资源在线播放 | 国产精品国产 | 能免费看18视频网站 | 欧美青草视频 | 精品无码人妻一区二区三 | 国产成人自拍偷拍 | 96福利视频 | 波多野结衣视频在线 | 你懂的视频网站 | www.av色| 五月激情片| 日韩中文字幕av电影 | 天天色综合天天 | 在线观看国产精品一区 | 夜夜爽夜夜叫夜夜高潮漏水 | 国模吧一区二区三区 | 午夜剧场成人 | 欧美夜夜操 | 好吊操视频这里只有精品 | 欧美在线一级片 | 男人操女人的软件 | 三级视频在线观看 | 韩国三级hd中文字幕叫床浴室 | 久久xxxx| 性欧美一区 | 美女涩涩视频 | 欲色av | av网站在线观看不卡 | 亚洲永久免费观看 | 日韩精品无码一区二区 | 日日干日日 | 三级视频在线观看 | 久久av高潮av | 成年人国产精品 | 亚洲色精品三区二区一区 | 麻豆成人免费视频 | 成人黄色在线视频 | 午夜免费看片 | 一级特级片 | 免费成人高清在线视频 | 日本三级免费看 | 欧美粗大猛烈老熟妇 | 欧美18av | 国产精品主播 | 久久久久久久伊人 | jjzz黄色片| 色婷婷av一区二区三区大白胸 | 成年人理论片 | 性色免费视频 | 中国a毛片| 亚洲快播| 免费日韩在线视频 | 成年人毛片视频 | 7777精品视频 | 越南黄色一级片 | 伊人福利视频 | 欧美视频一区二区三区 | 天堂网www在线 | 国产精品白浆一区二小说 | 无码精品黑人一区二区三区 | 美女xx网站| 手机午夜视频 | 久久久视频6r | 日本老熟妇毛茸茸 | www四虎 | 色乱码一区二区三区网站 | 九九热这里只有 | 日韩精品一区三区 | 九色porny自拍| 日韩不卡一区二区三区 | 毛片9 | 欧美天堂视频 | 成人免费做受小说 | 国产精品久久网站 | 精品国偷自产国产一区 | 四虎免费久久 | 中文字幕少妇在线三级hd | 四虎成人免费视频 | 草莓视频一区二区三区 | 久久无码视频网站 | 美女操出白浆 | 4438x亚洲| www.av小说 | 国产精品一级视频 | 亚洲第一视频网 | 在线免费观看黄网 | 爱爱爱免费视频 | 亚洲视频在线观看一区二区三区 | 久久久久久一级片 | 国产看片网站 | 有码中文 | 青青草av在线播放 |