Topic: java的按值传递的思考和疑惑

  Print this page

1.java的按值传递的思考和疑惑 Copy to clipboard
Posted by: lungfun
Posted on: 2003-04-19 00:44

java 仅仅是按值传递的,而不是按引用传递的(java的发明人如是说)。
那小弟我有个问题:想通过swap(int a,int b)一个函数实现值的交换,该如何作呢?先谢过了

2.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: floater
Posted on: 2003-04-19 05:13

search here, it's been talked several times.

3.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: 烂泥
Posted on: 2003-04-21 09:40

按值传递

4.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: jiangns3000
Posted on: 2003-04-23 09:47

又一个老问题。

5.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: zyfno1
Posted on: 2003-04-23 17:42

普通类型按值传递,类 按引用传递。
rmi中还是按值传递

6.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: jiangns3000
Posted on: 2003-04-23 17:49

JAVA只有按值传递。没有按引用传递一说。

7.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: xiaopan
Posted on: 2003-05-08 13:47

请记住这句话,引用也是值,只不过是一种指明地址的值,所以JAVA中只有按值传递.

8.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: gnufeng
Posted on: 2003-05-08 18:22

如果将变量的地址看成是“值”,那么,有没还有引用一说吗?不都变成值传递了?有其他语言是按非值传递的吗?

9.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: hoppocket
Posted on: 2003-05-09 20:18

怎么理解都可以,

只要能得出正确的结果

10.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: terry39
Posted on: 2003-05-10 11:25

应该把传递 分成两中:
1) 复制一份内存空间
2) 同一块内存空间

复杂类型 应该是 2) 主要是类 否则就没有 "克隆" 这个必要了 ....
简单类型 应该是 1) 主要是 int、byte 这些基本数据类型

11.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: hoppocket
Posted on: 2003-05-10 11:52

嗯,可以这样理解

其实传递参数的时候都是在复制,

不同的是复制的内容分为两种:
1)对于基本类型 复制的是 一份内存空间里的内容
2)对于引用类型 复制的是 对一块内存空间的引用

12.Re:java的按值传递的思考和疑惑 [Re: lungfun] Copy to clipboard
Posted by: terry39
Posted on: 2003-05-10 12:22

虽然都是复制 但

1) 复制 具体的内容 不是地址
(另外开辟一块内存 把东西放进来 把这块地址给 新变量)
2) 复制的是地址
(把内存的地址 复制给 新变量)
所以 不能称之 "复制" 否则 会混淆概念 ...

情况 1) 互不影响
情况 2) 相互影响


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923