我今天学习了静态方法,我对静态方法中值的变化感到困惑。 当我写这样的静态方法时
public class test{
public static int printInt(int t,int n){
System.out.println(t);
t= t + n;
return n;
}
}
并在主
中调用它public class Method {
public static int i;
public static int m;
public static void main(String[] args){
i = 5;
m = 6;
test.printInt(i,m);
System.out.println(i);
}
}
不要像我想的那样改变。
如果静态方法只改变你返回的值?
答案 0 :(得分:0)
最简单的术语static
表示属于该类的东西。在上面的代码方法中,printInt
属于类test
,而不属于此类的特定实例。
在另一个类Method
中的main方法中,您尝试将局部变量i
和m
作为参数传递,并且由于它们的副本将传递给方法{ {1}}。您对复制而不是实际参数进行更改。所以变化不会反映在主要方法中。
注意:在Java中使用camel-case和其他标准编码约定。同样命名一个类printInt
是一个坏主意。