public class Test13{
public static void main(String args[]){
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
System.out.println("at first:a="+a+"\t"+"b="+b);
method(a,b);
System.out.println("outter:a="+a+"\t"+"b="+b);
}
static void method(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
System.out.println("inner:a="+x+"\t"+"b="+y);
}
}
谁能告诉我为什么在method方法内部x和y已经同为“AB”,回到main后却又成了a=AB,b=B?搞不懂。
谢谢各位高手赐教。
谢谢回答。
我想问的是:在method方法中x.append(y)可以写作x=x.append(y)吧
为什么同样是x=x.append(y)和y=x两个传值操作,x就可以作为形参传值给main里的a,y就不能最为形参传值给main里的b?
是否和append()函数的特性有关?
PS:to jonny404
根据目前我所了解的一点java的皮毛,好像是说java采用的是传值调用,不是采用地址调用,你的解释是否有误呢?
精慕HU
猛跑小猪
烙印99
郎朗坤