一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

java中關于方法參數的介紹

 好漢勃士 2021-09-20

要了解Java中參數傳遞的原理,首先你要先知道按值傳遞和按引用傳遞的區(qū)別。
按值傳遞表示方法接受的是調用者提供的值,按引用傳遞表示方法接受的是調用者提供的變量地址。一個方法可以修改傳遞引用所對應的變量值,而不能修改傳遞值調用所對應的變量值。而Java程序設計語言總是采用按值調用,也就是說,方法得到的是所有參數值的一個拷貝。下面我將舉一些實例來具體說明:

#基本數據類型

public static void main(String[] args) { // TODO Auto-generated method stub int a=10,b=20; swap(a,b); System.out.println(a+'-------'+b); } public static void swap(int a,int b) { int temp=a; a=b; b=temp; }
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

其結果為

原理相當于:
執(zhí)行swap之前:
在這里插入圖片描述
執(zhí)行swap之后:
在這里插入圖片描述
從圖中可以看出:執(zhí)行swap前后,實參ab并沒有改變。改變的只是形參ab,而形參ab在執(zhí)行完swap之后就被撤銷了(局部變量在方法執(zhí)行結束后被撤銷)。所以最后a=10,b=20;

#類類型

類類型直接傳遞
public class scdn {

public static void main(String[] args) {
// TODO Auto-generated method stub
employee tom=new employee();
tom.setId(10);
employee jarry=new employee();
jarry.setId(20);
System.out.println(tom.getId()+'-------'+jarry.getId());
}
public static void swap(employee a,employee b) {
employee temp=a;
a=b;
b=temp;
}


}
class employee{
private int id;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

}123456789101112131415161718192021222324252627282930123456789101112131415161718192021222324252627282930

結果為

其原理和上面差不多。

類類型通過方法傳遞
public class scdn { public static void main(String[] args) { // TODO Auto-generated method stub employee tom=new employee(); tom.setId(10); employee jarry=new employee(); jarry.setId(20); swap(tom, jarry); System.out.println(tom.getId()+'-------'+jarry.getId()); } public static void swap(employee a,employee b) { int temp; temp=a.getId(); a.setId(b.getId()); b.setId(temp); } } class employee{ private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } }
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

  • 27

  • 28

  • 29

  • 30

  • 31

  • 32

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

  • 27

  • 28

  • 29

  • 30

  • 31

  • 32

結果為:

執(zhí)行swap之前:

執(zhí)行swap之后:

為什么類類型通過這兩個不同swap方法之后結果會不同呢?這是因為第二個swap中實參tom和形參a一直指向的是同一個地址(x),jarry和b一直指向(y),所以最后修改形參可以改變實參的值。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    2019年国产最新视频| 日韩欧美一区二区久久婷婷| 欧美日韩在线观看自拍| 国产日产欧美精品大秀| 成人欧美一区二区三区视频| 亚洲在线观看福利视频| 亚洲中文字幕日韩在线| 激情三级在线观看视频| 欧美精品女同一区二区| 五月激情五月天综合网| 一区二区在线激情视频| 欧美日韩在线视频一区| 国产传媒精品视频一区| 麻豆91成人国产在线观看| 又色又爽又黄的三级视频| 一区二区三区欧美高清| 一区二区免费视频中文乱码国产| 亚洲中文在线中文字幕91| 国产又色又爽又黄又免费| 丁香七月啪啪激情综合| 冬爱琴音一区二区中文字幕| 亚洲一区二区三区三州| 日本办公室三级在线观看| 人妻少妇久久中文字幕久久| 国内午夜精品视频在线观看| 亚洲国产精品久久精品成人| 老司机精品视频在线免费看| 午夜精品在线观看视频午夜| 日韩中文字幕欧美亚洲| 欧美午夜一区二区福利视频| 日本最新不卡免费一区二区 | 99一级特黄色性生活片| 好吊日在线视频免费观看| 精品久久少妇激情视频| 精品熟女少妇一区二区三区| 国产麻豆成人精品区在线观看| 在线日韩中文字幕一区| 精品亚洲香蕉久久综合网| 欧美日韩精品久久第一页| 噜噜中文字幕一区二区| 国产一级一片内射视频在线|