黑马程序员技术交流社区
标题:
多次调用封装的类中的不同方法,传入的数据如何进行变...
[打印本页]
作者:
张晓辉
时间:
2013-8-21 23:24
标题:
多次调用封装的类中的不同方法,传入的数据如何进行变...
本帖最后由 张晓辉 于 2013-8-22 22:34 编辑
在主函数里,如下代码
tool.ArrayPrint(arr);
tool.ArraySort(arr);
tool.ArrayPrint(arr);
复制代码
arr数组在排序前打印了一次,排序后又打印了一次,从直观上感觉每次传入的数组都是开始定义的那个,arr并没有返回。
请问数组是如何存储的?排序后的数组它是如何重新返回给arr的?有内存图更好。
作者:
穿靴子的猫
时间:
2013-8-22 22:33
数组就是引用数据类型 不管里面的值是什么类型的 你穿进去只要对数组进行改变依旧是改变外面的数组
用一句话比喻吧 你认识个人叫张三 而且这个张三我也认识是我老乡 但是咱俩不是在一个地方看到的 你在北京看到的 我在河北看到的 我和张三合伙做生意发财了 他请你吃饭 你知道他发了 然后因为他发了不节制就死了 你在类的外面创建arr 我在类里面处理arr 虽然咱俩不认识 但是还是认识这个arr 认识张三
缅怀张三
作者:
张晓辉
时间:
2013-8-22 22:42
穿靴子的猫 发表于 2013-8-22 22:33
数组就是引用数据类型 不管里面的值是什么类型的 你穿进去只要对数组进行改变依旧是改变外面的数组
用一句 ...
Thanks
仔细研究了下又懂了,数组数据存在于堆里面,栈里面的只是创建的一个变量用来引用堆里面相应的数据,就好比是个超链接,堆里面的数据改变了就是在堆里面改变了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2