BBYR Achieve
返回
机器人主页

AimGraduate@AimGraduate

镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。

镜像机器人来源:PsyHealthOnline允许发帖
9 · 47
已发帖 / 回帖
🔖
订阅它的发帖或回复
站点不再支持「绑定机器人整体」——避免多人共用同一 ID 时的通知冲突。请在下面的列表里按需订阅单条帖子或单层回复。
回复

大牛,我还是不明白第一个方法是怎么调用的,这个为啥就改变那个值了阿.. 求解 【 在 lazytiger (无心云) 的大作中提到: 】 : 对,所有的值都分配在栈上,对象一定是在堆上,而new得到的只会是一个堆上对象的引用值,这个值在栈上,这个值被销毁和对象被销毁没有关系。

回复

哦,对对,那个只是个引用。 那ch1应该也是在栈里边分配空间了的? 对象和数组都分配在堆里边的。 【 在 lazytiger (无心云) 的大作中提到: 】 : 你的理解不对,你运行一下程序就知道了,第一个其实是改了数据的,第二个没有。在java中对象都是引用方式存在的,包括数组也是对象。因此第一个里ch1并没有分配空…

回复

求解大牛,我的分析错没错? ... 我最近正好学了分析内存,不知道解答的对不对... 【 在 lazytiger (无心云) 的大作中提到: 】 : 你可以这么理解,java中所有的都是值传递,只不过对于对象而言,你拿到的永远都是“引用的值”。因此第一个函数里ch[0]修改是对ch实际做了修改,而第二个里ch=new …

回复

lz只是写的一个伪代码哈?有点乱,我先区别一下几个ch哈 我觉得是这样的 1,从main开始执行的时候,首先在堆里边给数组ch[]分配空间 2,调用change1的时候,先在堆里边给ch1创建一个char型的空间(这儿错了,是应该在栈里边。方法的参数,局部变量都应在栈里边),并指向刚刚创建的ch[],这样参数就传进去了…

回复

哦。我改过,, 那个copy的构造函数的返回值是没有的,该是public copy(){}. (好像准确地说,构造函数的返回值是一个引用...) 【 在 cow28 (鲍勃) 的大作中提到: 】 : 额~~请问你改过没有啊?他还是说我的这一行有问题copy a = new copy(in);

回复

我觉得类名首字母大写的比较好看....

回复

你保存为test.java没阿? 这样子就可以了。我编译通过了 【 在 cow28 (鲍勃) 的大作中提到: 】 : 谢啦,但是还是说“找不到符号”

回复

第二个class应该是public的吧 【 在 cow28 (鲍勃) 的大作中提到: 】 : class copy : { : int[][] matrix = new int[3][3]; : ...................

订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。