Java方法变量
package test;
public class Main {
static double a,b,c,d;
public static void changeValue(double x, double y)
{
x=1;
y=2;
}
public static void main (String args[])
{
changeValue(a,b);
changeValue(c,d);
System.out.println("a="+a+"\nb="+b+"\nc="+c+"\nd="+d);
}
}
a,b,c,d
值不变
如何更改方法参数
# 1 楼答案
Java支持按值传递。因此,当它将
a,b,c,d
传递给changeValue()
方法时,它会将这些变量的值复制到x,y。因此,如果更改x
和y
的值,它不会影响a,b,c,d
# 2 楼答案
有两个参数,你不知道你改变了什么变量
即使将值传递给该方法也不起作用。请注意,参数是按值传递的,而不是按引用传递的。但是如果你把签名改成
然后你知道如何初始化类变量
# 3 楼答案
由于Java是按值传递的(primitves和对象引用作为副本传递),因此您在方法内部所做的更改不会从调用它的位置反映出来