码迷,mamicode.com
首页 > 其他好文 > 详细

变量的值传递

时间:2017-03-02 10:49:31      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:同步   类型   顺序   内存   存储   传递   strong   lis   ring   

基本类型、字符串String——传递的是实参的值

在初始化定义变量m时,在内存中分配存储空间。

m作为传入调用的方法中的形参n时,在被调用的方法中形参n会再分配独立于m的存储空间,所以在方法中n改变了值,但当方法调用结束之后,变量m的值仍为原先值。

集合、数组、对象——传递的是集合的引用。即方法中的集合和传递的集合是一样的,指向同一个集合。所以,如果改变方法中的集合,方法外的集合也会同步改变

初始化定义变量时,该变量存储的是指向值的引用。

如:List list = new ArryList();

变量list存储的是指向集合的引用地址,而非实际的集合。

所以当传入调用方法时,若在方法中改变传入的值,则方法调用结束之后,变量的值也同步改变

 

集合、数组、对象存储在堆中,堆用于动态内存分配,在堆中的内存块可以按随意的顺序分配和释放。指向的变量存储在栈中

变量的值传递

标签:同步   类型   顺序   内存   存储   传递   strong   lis   ring   

原文地址:http://www.cnblogs.com/qdwyg2013/p/6489296.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!