Java 笔试拾遗(3)

Java Pick—up

栈中的变量

引例:

public class Test {
public static void main(String[] args) {
    StringBuffer a = new StringBuffer("A"); 
    StringBuffer b = new StringBuffer("B"); 
    operator(a, b); 
    System.out.println(a + "," + b); 
} 
public static void operator(StringBuffer x, StringBuffer y) { 
    x.append(y); y = x; 
}
}

输出

AB,B

在这里插入图片描述
x.append(y)修改x所指的内容,y=x 把x的指向赋给y;但是,打印的是a和b所指向的内容,于是,结果就是AB,B。

这在java中算是非参数的引用传递。
同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。写的不是太完整,后续继续补充。

猜你喜欢

转载自blog.csdn.net/weixin_42662955/article/details/89177818