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中算是非参数的引用传递。
同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。写的不是太完整,后续继续补充。