当我将变量传递给我的方法时,它们不会在主代码中更新,而只会传递给方法。一旦传递的变量将在主代码中更新,该怎么做?谢谢!
//////////// here is main code:
public static class MyCoding extends MainScreen{ static int mee=1;
public static void myCode(){
Status.show("mee="+mee, 2000); // shows me=1
Moo.moo(mee);
Status.show("mee="+mee, 2000);// should be mee=76547545 but still shows mee=1 !
}
}
//////////// here is my method:
public static class Moo extends MainScreen{
public static void moo(int bee){
mee=76547545;
return;
}
}
要做什么?谢谢!
传递原始数据类型参数
Primitive arguments, such as an int or a double, are passed into
methods by value. This means that any changes to the values of the
parameters exist only within the scope of the method. When the method
returns, the parameters are gone and any changes to them are lost.
传递引用数据类型参数
Reference data type parameters, such as objects, are also passed into
methods by value. This means that when the method returns, the
passed-in reference still references the same object as before.
However, the values of the object's fields can be changed in the
method, if they have the proper access level.
要获得您期望的行为,您需要返回一个值并将其分配给原始变量。
mee = Moo.moo(mee);
在你的方法中:
public static int moo(int mee)
{
// some processing
mee += 76547545;
return mee;
}
Passing Information to a Method or a Constructor