一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - java 中函數的參數傳遞詳細介紹

java 中函數的參數傳遞詳細介紹

2020-07-05 13:48服務器之家 JAVA教程

這篇文章主要介紹了 java 中函數的參數傳遞詳細介紹的相關資料,需要的朋友可以參考下

 java函數參數傳遞

總結:

  1.將對象(對象的引用)作為參數傳遞時傳遞的是引用(相當于指針)。也就是說函數內對參數所做的修改會影響原來的對象。
  2.當將基本類型或基本類型的包裝集作為參數傳遞時,傳遞的是值。也就是說函數內對參數所做的修改不會影響原來的變量。
  3.數組(數組引用))作為參數傳遞時傳遞的是引用(相當于指針)。也就是說函數內對參數所做的修改會影響原來的數組。
  4.String類型(引用)作為參數傳遞時傳遞的是引用,只是對String做出任何修改時有一個新的String對象會產生,原來的String對象的值不會做任何修改。(但是可以將新的對象的       引用賦給原來的引用,這樣給人的表面現象就是原來的對象變了,其實沒有變,只是原來指向它的引用指向了新的對象)。

?
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package StringTest;
 
class A{
  int a=1;
  char b='A';
  public A(){}
  public A(int _a,char _b){
    this.a=_a;
    this.b=_b;
  }
  public String toString(){
    return "a="+this.a+",b="+this.b;
  }
}
 
 
public class ReferenceTest {
  public static A changeA(A classa){
    classa.a=2;
    classa.b='B';
    return classa;
  }
   
  public static String changeString(String str){
     System.out.println(str.hashCode());
     str=str.toLowerCase();
     System.out.println(str.hashCode());
     return str;
  }
   
  public static int changeint(int a){
    a=a+1;
    return a;
  }
   
  public static Integer changeInteger(Integer a){
    a=new Integer(9);
    return a;
  }
   
  public static int[] changeintarray(int a[]){
    a[0]=10;
    return a;
  }
   
  public static void printArray(int a[]){
    for(int i=0;i<a.length;i++){
      System.out.print(a[i]+" ");
    }
    System.out.println();
  }
   
  public static void main(String[] args) {
    //自定義的對象傳遞的是引用
    A a=new A();
    A b=changeA(a);
    System.out.println(a);
    System.out.println(b); 
    System.out.println("----------------------");
    //String對象作為參數傳遞的也是引用(只是String對象的值不能變,每一個修改String對象的值都會重新創建一個新的String對象用以保存修改后的值,原來的值不會變)
    String str1="HUHUALIANG";
    System.out.println(str1.hashCode());
    String str2=changeString(str1);
    System.out.println(str2.hashCode());
    System.out.println(str1);
    System.out.println(str2); 
    System.out.println("----------------------");
    //基本類型是值傳遞
    int inta=8;
    int intb=changeint(inta);
    System.out.println(inta);
    System.out.println(intb); 
    System.out.println("----------------------");
    //基本類型的包裝集作為參數傳遞的是值而不是引用
    Integer c=new Integer(1);
    Integer d=changeInteger(c);
    System.out.println(c);
    System.out.println(d); 
    System.out.println("----------------------");
    //數組傳遞的是引用
    int [] arraya={0,1,2,3};
    int [] arrayb=changeintarray(arraya);
    printArray(arraya);
    printArray(arrayb);
  }
}

運行結果:

a=2,b=B
a=2,b=B
----------------------
711139030
711139030
226046678
226046678
HUHUALIANG
huhualiang
----------------------
8
9
----------------------
1
9
----------------------
10 1 2 3
10 1 2 3

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费永久观看美女视频网站网址 | 饭冈加奈子乳喷cead144 | 经典欧美gifxxoo动态图暗网 | 福利一区二区在线观看 | 欧美亚洲国产成人不卡 | 国产成人在线免费视频 | 亚洲国产成人99精品激情在线 | 大学生宿舍飞机 free | 亚洲欧美一区二区三区在线观看 | 污到湿的爽文免费阅读 | 亚洲 欧美 制服 校园 动漫 | 我将她侵犯1~6樱花动漫在线看 | 狠狠色伊人亚洲综合网站色 | 天天色资料 | 91制片厂制作传媒网站 | 久久免费国产视频 | 忘忧草研究院一二三 | 女教师巨大乳孔中文字幕免费 | 四虎最新网址在线观看 | 国产精品福利久久2020 | 我与么公激情性完整视频 | 男人天堂新 | 洗濯屋し在线观看 | 久久丫线这里只精品 | yy111111免费观看 | 亚瑟天堂久久一区二区影院 | 成人高辣h视频一区二区在线观看 | 成人性生交大片免费看软件 | 欧美洲大黑香蕉在线视频 | 日韩乱淫| 亚洲成a人片777777久久 | 日韩二三区 | 成人性生交大片免费看软件 | 精品久久国产 | 亚飞与亚基国语1080p在线观看 | 胸大的姑娘中文字幕视频 | 久久精品国产免费 | 日产精品卡一卡2卡三卡乱码工厂 | 成人在线免费观看 | 国产90后美女露脸在线观看 | 啪一啪在线视频 |