• 值传递


    值传递:调用一个方法的时候,传递给方法的参数 ,实际上传递变量所存储的值。

    即:基本数据类型变量传递的变量的值。引用数据类型变量传递的是变量中存放的内存地址(也是变量的值)。

    基本类型变量存在栈中;引用类型变量也在栈中,但是其所指的内容在堆得内存空间中。

    代码如下:

     1 class Demo
     2 {
     3     public static void main(String[] args) 
     4     {
     5         /*
     6         int a = 3;
     7         int b = 5; 
     8         changeValue(a,b);
     9         System.out.println("交换之后的值:a = "+a +" b="+b); 
    10 
    11         int[] arr = {23,10,9};
    12         changeArr(arr,1,2);
    13         System.out.println("数的元素:"+ Arrays.toString(arr));// 9 ,10
    14             */
    15         Person p = new Person();
    16         changeObj(p,20);
    17         System.out.println("x = "+ p.x);
    18     }
    19     
    20     public static void changeObj(Person p ,int x){
    21         p.x = x;
    22     }
    23 
    24 
    25 
    26     
    27     //需求2: 定义一个函数交换数组中两个 元素的位置。
    28     public  static void changeArr(int[] arr , int index1,  int  index2){
    29         int temp = arr[index1];
    30         arr[index1] = arr[index2];
    31         arr[index2] = temp;
    32     
    33     }
    34 
    35 
    36 
    37     //需求1:定义一个函数交换两个基本类型变量的值。 
    38     public static void changeValue(int a , int b){
    39         int temp = a;
    40         a = b;
    41         b = temp;
    42         System.out.println("方法内部交换的值:a = "+a +" b="+b);
    43     }
    44 
    45 }
    View Code

    理解传递的本质:变量的传递就是值得传递。

  • 相关阅读:
    六、开闭原则
    五、迪米特法则
    绘制禁用图像
    程序自启动的问题
    金山也开始做“QQ”了
    TextBox只能输入数字的两种解决办法
    Chrome的一点小问题
    OOAD读书笔记(三):需求变化
    OOAD读书笔记(六):如何解决大问题
    J道,学习分析设计的Java社区
  • 原文地址:https://www.cnblogs.com/nicker/p/6115844.html
Copyright © 2020-2023  润新知