首页 > 其他 > 详细

值传递

时间:2016-11-30 02:04:28      阅读:147      评论:0      收藏:0      [点我收藏+]

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

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

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

代码如下:

技术分享
 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

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

值传递

原文:http://www.cnblogs.com/nicker/p/6115844.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!