zoukankan      html  css  js  c++  java
  • 《Java中方法的参数传递方式只有一种:值传递》

     1 //方法的参数传递机制(1);基本类型做形参的传递。
     2 class  PrimitiveTransferTest
     3 {
     4     public static void swap(int a,int b)
     5     {
     6         //下面代码实现a和b交换
     7         int temp = a;
     8         a = b;
     9         b = temp;
    10         System.out.println("swap方法里,a的值是:"+a+",b的值是:"+b);
    11     }
    12     public static void main(String[] args) 
    13     {
    14         int a = 6;
    15         int b = 9;
    16         swap(a,b);
    17         System.out.println("交换结束后,变量a的值是:"+a+",变量b的值是:"+b);
    18     }
    19 }
    20 
    21 
    22 //方法的参数传递机制(2);引用类型做形参的传递。
    23 class DataWrap
    24 {
    25     int a;
    26     int b;
    27 }
    28 class ReferenceTransferTest 
    29 {
    30     public static void swap(DataWrap dw)
    31     {
    32         //下面代码实现a和b的交换。
    33         dw.a = dw.a^dw.b;
    34         dw.b = dw.a^dw.b;
    35         dw.a = dw.a^dw.b;
    36         System.out.println("swap方法里,a成员变量的值是:"+dw.a+",b成员变量的值是:"+dw.b);
    37         System.out.println(dw);//DataWrap@2a139a55
    38         //dw = null;//这里是为了证明若把这个dw的应用指向空,则不会影响main方法里的dw的指向。
    39     }
    40     public static void main(String[] args) 
    41     {
    42         DataWrap dw = new DataWrap();
    43         dw.a = 6;
    44         dw.b = 9;
    45         swap(dw);
    46         System.out.println("交换结束后,a成员变量的值是:"+dw.a+",b成员变量的值是:"+dw.b);
    47         System.out.println(dw);//DataWrap@2a139a55 //证明了引用传递传递的是地址(也就是指针)其实也是值(址)传递
    48     }
    49 }

    从以上两个例子可看出,Java中的方法的参数传递只有一种形式,就是值传递。

  • 相关阅读:
    34.初识搜索引擎及timeout机制
    33.bulk json格式的理解
    32.es读请示内部分发原理
    31.分片和复制带来的副本一致性
    30.es增删改内部分发原理
    29.es路由原理
    27.初识分布式文档存储系统慨念
    26.bulk批量操作
    26.mget批量查询
    25.partial update内置乐观锁并发控制
  • 原文地址:https://www.cnblogs.com/sun-/p/5446023.html
Copyright © 2011-2022 走看看