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中的方法的参数传递只有一种形式,就是值传递。

  • 相关阅读:
    深度图像的获取原理
    第二章 排序 || 第19节 最短子数组练习题
    第二章 排序 || 第18节 有序矩阵查找练习题
    tensorflow 之tf.nn.depthwise_conv2d and separable_conv2d实现及原理
    tensorflow 之常见模块conv,bn...实现
    机器学习中的训练数据不平衡问题
    一些智力题
    Pytoch 抽取中间层特征方法
    娱乐一下
    java访问ad域
  • 原文地址:https://www.cnblogs.com/sun-/p/5446023.html
Copyright © 2011-2022 走看看