对象的引用问题

ambitiousyoyo 2011-10-29 08:18:15
public class TestQuote {
public static void main(String[] args) {
String str = new String("a");
change(str);
System.out.print(str);
}

public static void change(String s) {
s = "b";
}
}

输出怎么是a
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
大海之粟 2011-11-01
  • 打赏
  • 举报
回复
string是引用传递吧,它传递的值是内存地址,那也可以说是值传递,只不过这个值不是实际的值。s指向的地址改变了,不会影响str指向的值。
poppyPAN 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wenhong609 的回复:]

String是一种特别的类型,即不是基本类型,也不是引用类型,但是在进行传递的时候,它和基本类型一样,都是值传递。
[/Quote]
String 不是引用类型....??????
wenhong609 2011-10-31
  • 打赏
  • 举报
回复
String是一种特别的类型,即不是基本类型,也不是引用类型,但是在进行传递的时候,它和基本类型一样,都是值传递。
  • 打赏
  • 举报
回复
我不是高手,但我也觉得楼上对
str传给s的是值不是地址
scrack 2011-10-29
  • 打赏
  • 举报
回复
str指向"a",
public static void change(String s) {//s指向"a"
s = "b";//s指向"b"
}
str还是指向"a",又没改变str的指向

对着的
小小X 2011-10-29
  • 打赏
  • 举报
回复
首先声明 本人新手
如有错误 概不负责
str指向"a",
public static void change(String s) {//s指向"a"
s = "b";//s指向"b"
}
str还是指向"a",又没改变str的指向

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧