【发布时间】:2014-08-07 22:42:28
【问题描述】:
请忽略格式和句子相关的问题。
class ABC
{
public void change(Boolean x, Boolean y, StringBuffer s)
{
x=true;
y=true;
s.append("vinay");
}
public static void main(String a[])
{
Boolean x = false;
Boolean y = false;
x=false;
y=false;
StringBuffer s = new StringBuffer();
s.append("jasi");
ABC p= new ABC();
p.change(x,y,s);
System.out.println(x);
System.out.println(y);
System.out.println(s);
}
}
我想在 main() 方法中为布尔 x,y 获取我在 change() 方法中所做的所有更改,因为我们在 main 函数中修改了 s。 有什么方法可以让我们在 main 方法中获得修改后的值。
【问题讨论】:
-
注意java是按值传递的,所以你不能改变参数。
-
你甚至无法看到单线程程序的变化,因为传值。
-
没关系,但是为什么我们会在 StringBuffer object 的情况下获得更新的值。请澄清一下。
标签: java