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

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色综合天天综合网看在线影院 | 青久草视频 | 精品一区二区三区色花堂 | 玩两个少妇女邻居 | 亚洲2017天堂色无码 | 动漫女性扒开尿口羞羞漫画 | 99re这里只有精品视频在线观看 | 国产区一二三四区2021 | 色国产精品| 国产欧美成人免费观看 | 亚洲码和乱人伦中文一区 | 毛片免费观看的视频 | 国产一级特黄aa大片免费 | 国产成人精选免费视频 | 精品国产一区二区三区在线观看 | 好男人资源在线观看免费的 | 任你操视频在线观看 | 34看网片午夜理 | sxx免费看视频在线播放 | 久久视频在线视频观看天天看视频 | 午夜亚洲一区二区福利 | 久久亚洲精品AV成人无码 | 热99精品只有里视频最新 | 日韩精品视频在线观看免费 | 色呦阁| 99久久九九 | 国产精品俺来也在线观看了 | 四虎在线永久免费视频网站 | 国产短视频精品一区二区三区 | 户外露出野战hd | 欧美色图亚洲天堂 | 日韩精品一区二区三区老鸭窝 | 日韩一区二区三区四区区区 | 99任你躁精品视频 | 国产成人愉拍免费视频 | 国产精品夜色视频一级区 | 日本亚洲免费 | 99夜色| 国产精品99精品久久免费 | 香蕉草莓视频 | 国产一页 |